我看到很多其他人问同样的问题,但发布的解决方案都没有帮助我。
我正在尝试从我的 Android 应用程序将(二进制)文件写入外部存储。我把<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我的清单,但我仍然无法创建任何文件。我用来创建文件的代码是
File folder = new File(Environment.getExternalStorageDirectory(), SAVE_DIRECTORY);
File toWrite = new File(folder, "save.bin");
if(!toWrite.exists()){
try {
if(!folder.mkdirs())
Log.e("Save", "Failed to create directories for save file!");
toWrite.createNewFile();
} catch (IOException e) {
Log.e("Save", "Failed to create save file! " + e.getMessage());
}
}
调用mkdirs()
失败,并createNewFile()
抛出IOException
(ENOENT,因为目录不存在)
有谁知道怎么回事?我什至尝试重新启动我的设备。如果有任何区别,我在 Nexus 7 上的 API 级别为 8。