递归删除非空文件夹

2021/8/14 23:09:05

本文主要是介绍递归删除非空文件夹,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

`

public class Test1 {
public static void main(String[] args) throws Exception {
    File f=new File("e:/haha");
    deleDir(f);
    System.out.println("删除成功!");
}

private static void deleDir(File f) {
    //1、判断Dir是文件夹
    if (f!=null||f.exists()&&f.isDirectory()){
        //2、提取一级文件对象
        File[] files=f.listFiles();
        //3、判断是否存在一级对象,存在则遍历全部的一级文件对象去删除
        if (files!=null&&files.length>0){
            //里面存在
            for (File file : files) {
                //如果是文件,则直接删除
                if (file.isFile()){
                    file.delete();
                }else {
                    //递归删除
                    deleDir(file);
                }
            }
        }
       //不能忘记还要把“自己”给删除
        f.delete();
    }
}

}
`

只是为了去加强递归算法的使用,因为文件是无法删除非空文件夹的,
但是如果使用IO框架的话,直接导入commons-io的jar包,一行就能删除文件夹,例如:
FileUtils.deleteDirectory(new File("e:/新建文件夹"));



这篇关于递归删除非空文件夹的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程