0

/ data / data / programs / downloads/cacheにあるいくつかのファイルを作成して削除したいと思います。これまでのところ、ターゲットファイルをダウンロードして/ data / data / programs / downloads / cacheに正常に保存できますが、/ data / data / programs / downloads/cacheにあるファイルを削除しようとすると失敗します。私の方法は次のとおりです

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

削除する必要のあるターゲットファイルを見つけることができるように、すべてのファイルを一覧表示したいと思います。listFiles()メソッドは常にNULLを返すことがわかったので、私の質問は、listFile()をディレクトリ/ data / data / programs / downloads / cacheに使用できますか?

どんな理想も歓迎します。

BRアラン

4

1 に答える 1

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には、使用できる独自のクリアキャッシュ方式がありますが、実際にキャッシュに保存する必要があります。問題は、何も追加せず、自分のキャッシュをクリアする権限しか持っていないことかもしれません。

Androidの[キャッシュのクリア]ボタンを利用するにはどうすればよいですか。とにかく問題について説明します:)

幸運を

編集:また、ファイルパスが正しいことを確認しますか?使用できます

        Environment.getDownloadCacheDirectory()

キャッシュへのルートディレクトリを見つけるために私は思いますか?

于 2012-09-18T07:57:24.330 に答える