getExternalFilesDir(null)给出了java.io.IOException:只读文件系统

时间:2015-03-10 14:10:50

标签: android save

我正在尝试使用以下代码

在我的应用的根文件夹中编写一个文本文件
File file = new File(getExternalFilesDir(null), "values.txt");

        file.createNewFile();

我得到的只是java.io.IOException:只读文件系统

我在清单文件中有use-permission android:name =“android.permission.WRITE_EXTERNAL_STORAGE”。

我该如何解决这个问题?

我在模拟器和nexus 7上尝试过它,似乎无法找到导致问题的原因。

我看到很多关于重新安装文件系统的答案,但我可以期待每个下载应用程序的人都这样做。

1 个答案:

答案 0 :(得分:0)

  

getExternalFilesDir(空)

将返回,在外部存储上保存应用程序文件的目录的路径。如果当前未安装外部存储,则返回null,因此无法确保路径存在;您需要在可用时再次调用此方法。

所以在你的情况下,我们不知道是否安装了外部存储,但是你想将文件放在应用程序的根文件夹中。只需使用getFilesDir()。它会将您的文件存储在存储应用程序文件的内部存储中。