【问题标题】:Delete file in data directory删除数据目录中的文件
【发布时间】:2014-10-30 18:17:51
【问题描述】:

我遇到了和Android, delete files in my data directory?一样的问题

但这对我不起作用。

String sourcefile = getFilesDir().toString() + "/aaa.jpk";
File file = new File(sourcefile);
file.delete();

这应该是删除该文件的最简单方法,但不知何故我做不到。 权限被添加到 android manifest:

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

所以这不是问题。该字符串将我带到文件:

data/data/com.example.program/files/aaa.jpk

我的问题到底出在哪里?我想不通。

文件下载代码:

 dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
 Uri resource = Uri.parse("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
 DownloadManager.Request request = new DownloadManager.Request(resource);
 request.setAllowedNetworkTypes(Request.NETWORK_MOBILE | Request.NETWORK_WIFI);
 request.setDestinationInExternalFilesDir(getApplicationContext(), null, "aaa");
 request.setAllowedOverRoaming(false);
 request.setTitle("a.xml");

 dm.enqueue(request);

【问题讨论】:

    标签: android delete-file datadirectory


    【解决方案1】:

    切勿使用串联来创建路径。使用File file=new File(getFilesDir(), "aaa.jpk"); 看看是否有帮助。请注意,您的权限在这里无关紧要,因为您使用的是内部存储,而不是外部存储。

    【讨论】:

    • 感谢您的快速回答。不幸的是,它不起作用。我已经尝试了很多东西,但没有任何效果。
    • @user2647384:鉴于该文件路径,也欢迎您使用deleteFile("aaa.jpk");。如果您无法删除该文件,您最初是如何创建它的?
    • 第一次我通过程序下载它,后来我无法删除它,所以我认为这可以与我将使用一些文件资源管理器自己创建的文件一起使用。它也没有工作。在第一篇文章中下载文件的代码
    • @JustPeter:您正在下载到外部存储。您正在尝试从内部存储中删除。这类似于下载到一个硬盘驱动器并尝试从完全不同的硬盘驱动器删除文件。
    • 我知道内部和外部存储之间的区别,但我不知道我在看不同的地方。当我有一些结果时,我会发布。
    【解决方案2】:

    在有根手机/平板电脑上使用终端模拟器没问题,只需“cd”到包含文件的文件夹,然后“su”请求root访问权限,“rm aaa.jpk”它将删除文件

    HERE您将找到有关如何使用终端模拟器和 adb 命令的深入信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-26
      • 2013-05-30
      • 2012-11-11
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-05
      相关资源
      最近更新 更多