web-dev-qa-db-ja.com

Androidの内部ストレージファイルを削除するにはどうすればよいですか?

Android内部ストレージを使用してアプリケーションのファイルを保存しました(openFileOutputを使用)しましたが、そのファイルを削除したいのですが、可能ですか?

39
maxsap
File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();
95
plugmind

私はこれが少し古いことを知っていますが、 docs 使用するように言っています:

deleteFile("filename");

のではなく:

File.delete();

すでに使用している場合:

getFilesDir();

理にかなっています。

18
Barry

不要になったファイルは常に削除する必要があります。ファイルを削除する最も簡単な方法は、開かれたファイル参照がそれ自体でdelete()を呼び出すことです。

myFile.delete();

ファイルが内部ストレージに保存されている場合は、deleteFile()を呼び出して、ファイルの検索と削除をコンテキストに依頼することもできます。

myContext.deleteFile(fileName);

注:ユーザーがアプリをアンインストールすると、Androidシステムは次を削除します。内部ストレージに保存したすべてのファイルgetExternalFilesDir()を使用して外部ストレージに保存したすべてのファイル。 getCacheDir()で作成されたすべてのキャッシュファイルを定期的に手動で削除し、不要になった他のファイルも定期的に削除する必要があります。

ソースhttp://developer.Android.com/training/basics/data-storage/files.html

3
Vipul Divyanshu

フォルダからすべてのファイルを削除する場合は、次の機能を使用します。

private void deleteTempFolder(String dir) {
        File myDir = new File(Environment.getExternalStorageDirectory() + "/"+dir);
        if (myDir.isDirectory()) {
            String[] children = myDir.list();
            for (int i = 0; i < children.length; i++) {
                new File(myDir, children[i]).delete();
            }
        }
    }

フォルダーはストレージ上に存在する必要があります。そうでない場合は、もう1つの条件を確認できます。

  if (myDir.exists() && myDir.isDirectory()) {
//write same defination for it.
}
2
Kailas Bhakade
new File(mUri.toString).delete(); 
1
dev mz
 void clearMyFiles() {
    File[] files = context.getFilesDir().listFiles();
    if(files != null)
        for(File file : files) {
           file.delete();
        }
 }
1
djdance

Filedeleteメソッドを使用します

1
st0le