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中的循环对象是否为空。