实现一个需求:给定一个文件目录,通过 递归删除该文件夹中的所有文件。

注意:java中的file对象不能 直接删除有内容的文件夹 ,比如,该文件夹中有东西,调用java直接删除就会报错。

package Dome;

import java.io.File;

public class Delete {

  public static void main(String[] args) {
    String s = "D:/JavaTest/";
    File file=new File(s);
    deleteBoom(file);
  }

  /*
	首先判断一个文件夹或文件存在,如果存在文件,直接删除,如果还有文件夹,进入该文件夹;
	判断该文件夹是否为空,如果为空,则直接删除;
	如果不为空,如果是文件直接删除,如果是文件夹进入该文件夹;
	判断该文件夹是否为空,重复第二步操作;
	isFile()测试此抽象路径名表示的文件是否是一个标准文件。
	isDirectory()测试此抽象路径名表示的文件是否是一个目录。
	file.exit()测试此抽象路径名表示的文件或目录是否存在。
	file.delete() 删除此抽象路径名表示的文件或目录。
	file.list()返回一个数组,元素为文件或者文件夹
*/
  public static void deleteBoom(File file) {
    if (file.isDirectory()) {//如果是文件夹就进入
      File[] files = file.listFiles();
      for(File f:files){
        if(f.isDirectory()){
          deleteBoom(f);
        }
        f.delete();
      }
      }
    file.delete();//如果是文件就删除
    }


}