回答
你必須有所有的目錄中刪除目錄本身之前空,看here
在Android中,你應該有適當的權限,以及 - WRITE_EXTERNAL_STORAGE
在您的清單。
編輯:爲方便起見,我在這裏複製的代碼,但它仍然是從上面的鏈接
public static 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();
}
}
}
return(path.delete());
}
我試圖刪除文件夾中的文件,但Logcat顯示'無法取消鏈接'/geo1.xml':只讀文件系統(errno = 30)'。我已在清單中添加了'WRITE_EXTERNAL_STORAGE'權限。 – Greenhorn 2011-04-18 10:40:12
我認爲'/ geo1.xml'不在SD卡中,而是在根目錄下('/')。你確定你指的是正確的文件嗎? – MByD 2011-04-18 10:46:15
不,'/ geo.xml'位於我試圖刪除的文件夾中,但我在代碼中丟失了一些東西。它的工作現在很好。謝謝。 :) – Greenhorn 2011-04-18 10:55:44
https://stackoverflow.com/a/16411911/2397275
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
在AndroidManifest.xml文件
目錄必須在他們被刪除之前被清空。你必須遞歸空,並刪除所有的目錄樹:
boolean delete(File file) {
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null)
for (File f : files) delete(f);
}
return file.delete();
}
更新:
好像file.isDirectory() == (file.listFiles() == null)
,但file.listFiles()
日誌 「fail readDirectory() errno=20
」 時file.isDirectory() == false
。
它對我來說很好,我希望它能爲你工作。
File dir = new File(Environment.getExternalStorageDirectory()+"DirName");
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
new File(dir, children[i]).delete();
}
}
dir.list可以返回null,因此在循環中調用children.length而不檢查孩子是否爲null可能會引發異常。 – 2015-07-01 11:15:55
它的工作對我來說:
Add in manifest-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
private boolean deleteDirectory(File path) {
if(path.exists()) {
File[] files = path.listFiles();
if (files == null) {
return false;
}
for(File file : files) {
if(file.isDirectory()) {
deleteDirectory(file);
}
else {
file.delete();
}
}
}
return path.exists()?path.delete():false;
}
- 1. 刪除SD卡上的文件?
- 2. 防止用戶刪除SD卡中的文件夾或文件
- 3. 如何刪除SD卡中的文件?
- 4. 如何刪除在SD卡中創建的文件夾android
- 5. USB文件夾和SD卡文件夾
- 6. 在SD卡上製作文件夾android
- 7. 從SD卡刪除一個非空文件夾
- 8. 如何從SD卡中刪除文件?
- 9. SD卡新建文件夾
- 10. 黑莓刪除SD卡文件刪除的應用程序
- 11. 從列表視圖中刪除SD卡上的文件
- 12. Android - 在卸載時刪除SD卡上的文件
- 13. Android的子文件夾的SD卡
- 14. 刪除文件listitem鏈接到SD卡上
- 15. 將多個pcm文件存儲在SD卡上的文件夾
- 16. 鏈接到SD卡中的文件夾
- 17. android如何在刪除後刪除sd卡文件夾中刪除圖像的黑框?
- 18. 問題刪除和SD卡
- 19. Arduino SD卡選擇刪除
- 20. 將文件從SD卡的文件夾複製到SD卡的另一個文件夾
- 21. 在Android的DCIM文件夾下的SD卡上創建文件夾的錯誤
- 22. 從SD卡刪除文件夾時的「旋轉滾輪」進度對話框
- 23. 無法使用刪除功能從SD卡移除文件
- 24. Android的奇巧SD卡上的文件夾4.4
- 25. SD卡上的文件夾中的圖像
- 26. Android模擬器SD卡的大小和文件的刪除
- 27. 如何刪除Android中的SD卡中的所有文件?
- 28. 構建MediaStore查詢uri在SD卡上的多個文件夾
- 29. 允許用戶選擇SD卡上的文件夾
- 30. 如何在Android中獲取SD卡上文件夾的大小?
的可能的複製[?如何刪除整個文件夾和內容](https://stackoverflow.com/questions/4943629/how-to-delete - 整個文件夾和內容) – bummi 2017-12-04 12:14:11