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



我正在尝试使用以下代码在我的应用程序的根文件夹中编写一个文本文件

File file = new File(getExternalFilesDir(null), "values.txt");
        file.createNewFile();

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

我在清单文件中具有使用权限 android:name="android.permission.WRITE_EXTERNAL_STORAGE"。

如何解决此问题?

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

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

getExternalFilesDir(null)

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

因此,在您的情况下,我们不知道是否挂载了外部存储,但是当您想将文件放在应用程序的根文件夹中时,只需使用getFilesDir()。它会将您的文件存储在存储应用程序文件的内部存储中。

相关内容

最新更新