java– 如何在Android上以编程方式删除文件?

java– 如何在Android上以编程方式删除文件?,第1张

概述我在4.4.2,尝试通过uri删除文件(图像).这是我的代码:Filefile=newFile(uri.getPath());booleandeleted=file.delete();if(!deleted){booleandeleted2=file.getCanonicalFile().delete();if(!deleted2){booleandeleted3=getApplicationCo

我在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上以编程方式删除文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存