欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 递归删除文件和文件夹(删除目录和其中的所有文件)

程序员文章站 2022-03-03 09:07:17
...

文章目录

题目

编写一个 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");