回答
你必须有所有的目录中删除目录本身之前空,看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. 在SD卡上制作文件夹android
- 6. 从SD卡删除一个非空文件夹
- 7. 如何从SD卡中删除文件?
- 8. 问题删除和SD卡
- 9. 将文件从SD卡的文件夹复制到SD卡的另一个文件夹
- 10. 无法使用删除功能从SD卡移除文件
- 11. SD卡上的文件夹中的图像
- 12. 如何删除Android中的SD卡中的所有文件?
- 13. Android模拟器SD卡的大小和文件的删除
- 14. 如何在Android中获取SD卡上文件夹的大小?
- 15. 构建MediaStore查询uri在SD卡上的多个文件夹
- 16. 允许用户选择SD卡上的文件夹
- 17. 如何隐藏SD卡上的文件夹?
- 18. cotext对话框以删除SD卡中的文件
- 19. 防止用户查看/删除SD卡中的文件
- 20. 从android中删除SD卡中的文件
- 21. 从SD卡中删除一个零字节的文件
- 22. SD卡:如何强制内核不删除SD卡
- 23. 删除SD卡中的图像副本
- 24. 从Android的SD卡删除图像
- 25. htaccess删除文件夹的文件夹
- 26. 在SD卡上创建文件夹失败(samsung Galaxy)
- 27. 访问SD卡上的文件android
- 28. 删除驱动器上的文件夹
- 29. 如何在android中显示SD卡上的文件夹中的文件?
- 30. 当没有SD卡时,你可以写入SD卡文件夹吗?
的可能的复制[?如何删除整个文件夹和内容](https://stackoverflow.com/questions/4943629/how-to-delete - 整个文件夹和内容) – bummi 2017-12-04 12:14:11