当前位置: 首页 > 面试题库 >

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

贺俊楚
2023-03-14
问题内容

我在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");

然后尝试删除该文件。



 类似资料:
  • 我想以编程方式删除(重置)已在XML布局中设置的ImageView色调。

  • 我需要实现一个Android应用程序,允许用户配置VPN连接,而无需访问Android设备的本机菜单。我有两个问题: > 在Android 4.0(api级别14及以上)中,我发现有一个名为VpnService的新组件,它提供了一个钩子来创建虚拟网络接口,配置它,并从它拦截/转发包到VPN服务器,但是有没有像PPTP或IPSec这样的内置vpn协议,只有实现它们的可能性。我的问题是PPTP和IPS

  • 我想分享一个文件(. pdf,. apk等)使用分享意图,我搜索谷歌,但我只找到共享图像的代码

  • 在AndroidM中:我使用下面的代码删除当前连接的WIFI AP。 但是总是返回false。 虽然这个API在以前的版本中运行良好。 使用AndroidM中的任何其他API可以在这个平台上实现任何解决方案? 谢谢。

  • 问题内容: 我需要一个小的代码片段,该片段从给定的.zip文件中解压缩一些文件,并根据压缩文件中的格式提供单独的文件。请发表您的知识并帮助我。 问题答案: peno的版本进行了优化。性能的提高是可以察觉的。

  • 我试着把https://developers.google.com/sheets/api/samples/conditional-formatting的两个例子结合起来 读取所有条件格式 删除需要删除索引,但这不会在读取API响应中返回。我尝试假设数组中返回格式的索引是合适的,但是在操作中间遇到了一个错误“在索引中没有条件格式”,在它们全部删除之前。 这是我想弄清楚的表格的副本:https://d