2010-08-24 85 views

回答

73
File dir = getFilesDir(); 
File file = new File(dir, "my_filename"); 
boolean deleted = file.delete(); 
1

使用delete我知道這是一個有點過時的歌曲,但docs說使用:

deleteFile("filename"); 

而不是:

File.delete(); 

如果您已經在使用:

getFilesDir(); 

有意義。

+0

大多謝 – maxsap 2010-08-24 09:36:50

1
new File(mUri.toString).delete(); 
3

您應該隨時刪除不再需要的文件。刪除文件最直接的方法是在其本身打開文件引用調用delete()。

myFile.delete();

如果文件被保存在內部存儲,你也可以要求上下文來定位,並通過調用DELETEFILE()刪除文件:

myContext.deleteFile(fileName);

注:當用戶卸載你的應用程序中, Android系統刪除以下內容: 保存在內部存儲器上的所有文件 使用getExternalFilesDir()保存在外部存儲器上的所有文件。 但是,您應定期手動刪除使用getCacheDir()創建的所有緩存文件,並定期刪除不再需要的其他文件。

來源http://developer.android.com/training/basics/data-storage/files.html

1

如果你想刪除一個文件夾中的所有文件,然後使用以下功能:

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(); 
      } 
     } 
    } 

文件夾必須存在於存儲。如果不是的話,我們可以再檢查一下。

if (myDir.exists() && myDir.isDirectory()) { 
//write same defination for it. 
} 
0
void clearMyFiles() { 
    File[] files = context.getFilesDir().listFiles(); 
    if(files != null) 
     for(File file : files) { 
      file.delete(); 
     } 
} 
+3

這個答案被標記爲低質量的,因爲它的長度和內容。建議添加一個描述它的功能以及它如何回答問題。 – 2017-08-06 18:48:53

相關問題