递归删除非空文件夹
`
public class Test1 {
public static void main(String[] args) throws Exception {
File f=new File("e:/haha");
deleDir(f);
System.out.println("删除成功!");
}
private static void deleDir(File f) {
//1、判断Dir是文件夹
if (f!=null||f.exists()&&f.isDirectory()){
//2、提取一级文件对象
File[] files=f.listFiles();
//3、判断是否存在一级对象,存在则遍历全部的一级文件对象去删除
if (files!=null&&files.length>0){
//里面存在
for (File file : files) {
//如果是文件,则直接删除
if (file.isFile()){
file.delete();
}else {
//递归删除
deleDir(file);
}
}
}
//不能忘记还要把“自己”给删除
f.delete();
}
}
}
`
只是为了去加强递归算法的使用,因为文件是无法删除非空文件夹的,
但是如果使用IO框架的话,直接导入commons-io的jar包,一行就能删除文件夹,例如:
FileUtils.deleteDirectory(new File("e:/新建文件夹"));
星星上的张优秀