java删除文件夹都是从里向外删除,使用递归的方法。
public class IO_FILEdemo09 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 删除目录演示
File dir = new File("C://version1");
DeleteAll(dir);
}
public static void DeleteAll(File dir) {
if (dir.isFile()) {
System.out.println(dir + " : " + dir.delete());
return;
} else {
File[] files = dir.listFiles();
for (File file : files) {
DeleteAll(file);
}
}
System.out.println(dir + " : " + dir.delete());
}
}
上面这个小方法,我觉得最重要的是第一个if中的return,如果没有这个return就会造成重复删除的问题,可能会降低性能,而且我将文件放在if中判断,就不需要再次判断foreach中的循环对象是否为空。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17686.html