这个让我难过(Android 4.3)
我有正确的许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...我明确地创建了/storage/sdcard0/path/to/data.csv的路径,而FileOutputStream并没有抛出任何异常。
我尝试通过Environment.getExternalStorageDirectory()
阅读路径但是有一些&#34;仿效&#34;路径。
在任何一种情况下,我都看不到文件系统上的文件......
更令人困惑的是MEDIA_MOUNTED_READ_ONLY
是mount_ro ......但事实并非如此。
它看起来像我们使用/ mnt / extSdCard的另一个应用程序...我在我的应用程序中尝试了硬编码,但这也不起作用。甚至缺少目录。这非常令人困惑。
我当然正在调用mkdirs()
并创建了FileOutputStream ....
我做错了什么?
答案 0 :(得分:0)
尝试以下代码,看看它失败了吗?
try {
File mPath = new File(android.os.Environment.getExternalStorageDirectory(),"path/to");
if (!mPath.exists()) {
if(!mPath.mkdirs()) {
Log.e(getClass().getName(), "Can't Create Folder: "+mPath.getName());
}
}
File mLogFile = new File(mPath, "data.csv");
FileWriter mFileWriter = null;
if(mPath.canWrite()) {
mFileWriter = new FileWriter(mLogFile, true);
mBufferedWriter = new BufferedWriter(mFileWriter);
}
else {
Log.e(getClass().getName(), "Can't write under Folder: "+mPath.getName());
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}