在Android中删除文件会返回false

时间:2014-05-06 04:18:09

标签: android file-io

我正在尝试删除Android应用中的文件。该文件由同一个Android应用程序精心创建,并具有MODE_WORLD_READABLE权限。

我正在尝试将其删除如下:

File chosenFile = context.getFileStreamPath("myfile.txt");
boolean fileDeleted = chosenFile.delete();
if (fileDeleted)
  Log.d(TAG, "myfile.txt was deleted");
else
  Log.d(TAG, "myfile.txt was not deleted");

selectedFile.delete()继续返回false。是因为它仍然被访问?如果是这样,有什么方法可以强制关闭吗?

感谢。

3 个答案:

答案 0 :(得分:3)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

你有没有给予这个许可。

答案 1 :(得分:0)

这段代码是 myfile.txt 存在,请先检查一下,在私有文件系统中写入不需要文件写权限。只有在您尝试编写外部存储时才需要它。

context.getFileStreamPath("myfile.txt");

并删除文件使用

context.deleteFile("myfile.txt");

答案 2 :(得分:0)

好的,所以我弄清楚了我的错误 - 文件首先不存在。我认为通过检查是否(se​​lectedFile == null)来防止这种情况,但我应该检查是否(se​​lectedFile.exist()== true)。