文章目录

  • 题目
  • java 代码
  • 测试


题目

编写一个 FileUtil ,提供方法 rmDir(String dir) 来删除非空目录中所有文件和子目录,包括目录本身。

java 代码

首先得判断,当前是一个目录的话,进行遍历其中的 File 对象。如果不是就直接删除。

遍历时如果判断依然是一个目录,就进行递归,如果不是就直接删除。

public static void rmDir(String dir){
   File file = new File(dir);
   if(file.isDirectory()){
       File[] files = file.listFiles();
       if (files != null && files.length > 0){
           for (File file1 : files) {
               if(file1.isDirectory()){
                   rmDir(file1.getPath());
               } else {
                   file1.delete();
               }
           }
       } else {
           file.delete();
       }
   } else {
       file.delete();
   }
}

测试

在 main 方法中:

rmDir("D:\\ideaProjects\\java-demo\\target\\classes\\files");