如何删除Android上的/ data / data / providers / downloads / cache中的文件

时间:2012-09-18 07:52:05

标签: java android

我想创建和删除位于/ data / data / providers / downloads / cache中的一些文件。到目前为止,我可以下载目标文件并成功保存在/ data / data / providers / downloads / cache中,但是当我尝试删除位于/ data / data / providers / downloads / cache中的文件时,它最终会失败。我的方法如下

File directory = new File("/data/data/providers/downloads/cache");
File[] files = directory.listFiles();

我想列出所有文件,以便我可以找到需要删除的目标文件。 我发现listFiles()方法总是返回NULL,所以我的问题是,我可以将listFile()用于dir / data / data / providers / downloads / cache吗?

欢迎任何理想。

BR 艾伦

1 个答案:

答案 0 :(得分:0)

我使用这种方法:当我想删除包括目录在内的所有文件时。

static public boolean deleteDirectory(File path) {
    if( path.exists() ) {
        File[] files = path.listFiles();
        if (files == null) {
            return true;
        }
        for(int i = 0; i < files.length; i++) {
            if(files[i].isDirectory()) {
                deleteDirectory(files[i]);
            }
            else {
                files[i].delete();
            }
            Log.d("Deleting Files", files[i].getPath());
        }
    }

    return( path.delete() );
}

但是android有自己明确的缓存方法可以使用,但它需要你实际将东西保存到缓存中。问题可能是您从未向其添加任何内容,并且您只有权清除自己的缓存?

How do I take advantage of Android's "Clear Cache" button无论如何讨论这个问题:)

祝你好运

编辑: 此外,您确定您的文件路径是否正确?你可以使用

        Environment.getDownloadCacheDirectory()

为了找到缓存的根目录,我想?