无法写入/ mnt / sdcard

时间:2014-03-19 04:11:55

标签: android

这个让我难过(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 ....

我做错了什么?

1 个答案:

答案 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();
        }