我正在尝试将文件写入 HTC Hero 手机中的 SD 卡。我使用以下方法在 SDCard 中创建文件:
File = new File(path.getAbsolutePath(), "Filename.txt");
其中path是我的externalStorageDirectory的路径(即\sdcard)
当我记录此文件的路径时,它确实显示\sdcard\filename.txt
但是,当我创建文件输出流来写入文件时,文件路径突然更改为\data\data 并且我无法访问它。
有人可以帮我解释一下如何在 SDCard 中创建文件然后写入吗?
谢谢!
编辑:
path = Environment.getExternalStorageDirectory();
Log.d("SDCARDPLSWORK", path.toString());
try
{
myFile = new File(path.getAbsolutePath(), "SensorValues.txt");
boolean i = myFile.createNewFile();
Log.d("SDCARDPLSWORK", myFile.toString() + " " + i);
fos = new FileOutputStream(myFile);
Log.d("FILEANDROID", getFileStreamPath("SensorValues.txt").toString());
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
这就是我正在做的事情。 SDCARDPLSWORK 之前的部分是正确的,但是当涉及 FILEANDROID 日志时,它会转到私有(private)数据存储。
最佳答案
getFileStreamPath(..)从本地目录读取。您的调试代码是错误的。
关于java - 在 SDCard 上写入问题 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4322294/