递归删除文件夹内所有内容

//递归删除文件夹

import java.io.File;

public class Demo04 {
    public static void main(String[] args) {
        delDir(new File("E:\\abc"));
    }

    private static void delDir(File file) {
        //判断是否是文件夹
        if (file.isDirectory()) {
            //遍历文件夹
            File zFiles[] = file.listFiles();
            for (File file2 : zFiles) {
                //递归再次判断
                delDir(file2);
            }
        }
        //不是文件夹,文件直接删除
        file.delete();
    }
    
}
``` java






//另一种思路
``` java
public class Demo01 {
    public static void main(String[] args) {
        removeDir(new File("D:/abc"));

    }
    //删除文件夹
    public static void removeDir(File dir) {
        if (dir.isDirectory()) {
            //删除文件夹
            File[] files = dir.listFiles();//拿到文件夹所有的子文件
            for (File file : files) {//目的是删除dir中的内容
                if (file.isFile()) {
                    //文件
                    file.delete();
                    System.out.println("删除文件:" + file);
                } else {
                    //文件夹
                    removeDir(file);
                }
            }
            dir.delete();
            System.out.println("删除文件夹:" + dir);
        } else if (dir.isFile()) {
            dir.delete();
        }

    }
}
``` java
posted @ 2020-06-12 13:59  阿亮在努力  阅读(157)  评论(0)    收藏  举报