枚举目录后,我现在需要删除所有文件。
我使用:
final File[] files = outputFolder.listFiles();
files.delete();
但这并没有删除目录。
发布于 2011-10-14 21:10:31
您必须对每个文件执行此操作:
public static void deleteFolder(File folder) {
File[] files = folder.listFiles();
if(files!=null) { //some JVMs return null for empty dirs
for(File f: files) {
if(f.isDirectory()) {
deleteFolder(f);
} else {
f.delete();
}
}
}
folder.delete();
}
然后调用
deleteFolder(outputFolder);
发布于 2011-12-26 12:24:09
删除文件夹有文件,不需要循环或递归搜索。您可以直接使用:
FileUtils.deleteDirectory(<File object of directory>);
此功能将目录删除文件夹和其中的所有文件。
发布于 2011-10-14 21:12:15
不能在数组上删除!这应该能更好地工作:
for (File f : files) f.delete();
但是如果文件夹不是空的,它就不会工作。对于这种情况,您需要递归地下降到文件夹层次结构并删除所有内容。是的,很遗憾Java在默认情况下不能做到这一点……
https://stackoverflow.com/questions/7768071
复制相似问题