Java中的File.delete()方法只能删除文件或者空文件夹,无法删除非空文件夹,当是非空文件夹时,方法返回false,下面写一个工具类,采用递归方式,实现删除非空文件夹。
import java.io.File;
public class DeleteFolderUtil {
public static boolean deleteFolder(File file){
// 当传入的是文件时,直接删除
if(file.isFile())
return file.delete();
// 当传入的是文件夹时
File[] files = file.listFiles();
// 空文件夹,直接删除
if(files == null || files.length == 0)
return file.delete();
// 非空文件夹,遍历删除
for(File f : files){
if(f.isFile()) // 文件直接删除
f.delete();
else if (f.isDirectory()) // 文件夹递归删除
deleteFolder(f);
}
// 最后删除最外层空文件夹
return file.delete();
}
}
这篇博客介绍了一个Java工具类,用于通过递归方式删除非空文件夹。该类包含一个deleteFolder方法,首先判断传入的是否为文件,如果是则直接删除;如果是文件夹,会检查其是否为空,为空则直接删除,非空则遍历并删除所有子文件和子文件夹,最后删除最外层的空文件夹。

3347

被折叠的 条评论
为什么被折叠?



