我在4.4.2,尝试通过uri删除文件(图像).这是我的代码:
file file = new file(uri.getPath());boolean deleted = file.delete();if(!deleted){ boolean deleted2 = file.getCanonicalfile().delete(); if(!deleted2){ boolean deleted3 = getApplicationContext().deletefile(file.getname()); }}
目前,这些删除功能都没有实际删除该文件.我的AndroIDManifest.xml中也有这个:
<uses-permission androID:name="androID.permission.READ_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.WRITE_INTERNAL_STORAGE" />
解决方法:
为什么不用这段代码测试这个:
file fdelete = new file(uri.getPath());if (fdelete.exists()) { if (fdelete.delete()) { System.out.println("file Deleted :" + uri.getPath()); } else { System.out.println("file not Deleted :" + uri.getPath()); }}
我认为问题的一部分是你永远不会尝试删除文件,你只是继续创建一个具有方法调用的变量.
所以在你的情况下,你可以尝试:
file file = new file(uri.getPath());file.delete();if(file.exists()){ file.getCanonicalfile().delete(); if(file.exists()){ getApplicationContext().deletefile(file.getname()); }}
但是我认为这有点过分.
您添加了一条注释,表明您使用的是外部目录而不是uri.所以你应该添加如下内容:
String root = Environment.getExternalStorageDirectory().toString();file file = new file(root + "/images/media/2918");
然后尝试删除该文件.
总结以上是内存溢出为你收集整理的java – 如何在Android上以编程方式删除文件?全部内容,希望文章能够帮你解决java – 如何在Android上以编程方式删除文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)