先简单说明一些基本:(下面所说的文件夹也就是目录,我个人一开始不知道目录是什么,后来才知道目录就是文件夹)。
1.首先介绍delete()方法的基本用法。
先创建一个File对象 ,例如: File file = new File("C:/text");其中text是个文件夹;
① 当文件夹text为空时(即里面什么都没有),调用file.delete()方法,则会把该文件删除,返回true。
② 当文件夹text里面不是空时(里面有文件夹或者文件),调用file.delete()方法时,则不会把该文件删除,返回为false。
③ 所以对于文件夹里面存放有东西的时候不能直接删除。
2. 递归: 简单的理解就是自己调用自己。
3. 封装一个方法用于删除文件夹即其子文件:
1 public static void deleteDir(File file) { 2 if (file.exists()) {// 判断传递来的文件是否存在,存在时执行下面代码 3 File[] fileList = file.listFiles(); 4 for (File f : fileList) { 5 if (f.isDirectory()) {// 当文件是文件夹时 6 deleteDir(f); // 这里用到递归 7 } else { 8 System.out.println("删除的文件为:" + f.getName()); 9 f.delete(); 10 } 11 } 12 System.out.println("删除的文件夹为:" + file.getName()); //用于删除最外层的空文件夹 13 file.delete(); 14 } else { 15 System.out.println("你所删除的文件不存在"); 16 } 17 }
4. 在main函数中调用:
1 public static void main(String[] args) { 2 File file = new File("C:/text"); 3 deleteDir(file); 4 }