2013-03-29 111 views
6

我无法从SD卡删除文件。Android文件删除不起作用

File toDelete = new File(fname); 
boolean result=toDelete.delete(); 

结果是假的。同一个文件的读写操作在同一个应用程序中运行。 没有打开的流。没有例外提出。 我试图使其在刚删除之前可写入

toDelete.setWritable(true); 

没有效果。 系统如何可以写入和读取,但不能删除相同的文件?

+1

请认真添加一些关于如何建立文件路径的代码 – Trinimon

+0

我可以读写这个文件,没有路径或权限问题,系统只是拒绝删除它 – Catherine

+0

我想你是以编程方式创建文件或运行??我对吗? –

回答

3

使用下面的代码它可以帮助你。

  File fdelete = new File(file_dj_path); 
     if (fdelete.exists()) { 
      if (fdelete.delete()) { 
       System.out.println("file Deleted :" + file_dj_path); 
      } else { 
       System.out.println("file not Deleted :" + file_dj_path); 
      } 
     } 

刷新画廊在此之后删除图像

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

检查:https://stackoverflow.com/a/10716773/1168654

+0

嗨!谢谢你的回答,但文件并没有一直删除,它留在SD卡上,因为我可以看穿./adb外壳 – Catherine

+0

你能告诉我们你的问题更多关于文件路径的代码..? –

1

尝试这样做

File fileToDelete = new File(YourPath); 
boolean deleted = fileToDelete.delete(); 

再次重新挂载卡,并检查

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
        Uri.parse("file://" 
           + Environment.getExternalStorageDirectory()))); 
+0

这种方式不起作用 – Catherine