递归删除带内容的目录

递归是:方法调用方法本身的一种现象

条件:1)必须有一个方法

2)必须有规律

3)必须存在出口条件(结束条件)

案例:

比如在 项目根目录下有一个demo目录里面有多个文件夹,文件夹中有文件;使用递归删除带内容的目录

需求:将Dome文件夹

1)描述一下当前项目下的demo路径:定义一个变量  String path="demo" ;

2)封装到File对象,表示它的路径形式 File(String path);

3)定义一个成员方法:删除文件夹 deleteFolder(File对象)

4)deleteFolder(File对象){

        1.获取当前路径下的所有的文件夹以及文件的File数组

        2,防止空指针异常,非空判断

        3,遍历,获取所有的File对象

        4,判断它是否文件夹 isDirectory()

        5,是否文件夹 回到第三步 }

不是文件夹,是文件,----调用delete()将文件删除,输出删除的文件名称(看到谁被删了)

文件删除,删除文件

public class Test4 {
    public static void main(String[] args) {
        //定义一个变量:描述当前项目下demo文件夹
        String path = "demo" ;
        //创建File对象,封装路径
        File file = new File(path) ;
        //调用递归删除文件夹的方法
        deleteFolder(file) ;
    }

    //定义一个递归删除文件夹的方法
    private static void deleteFolder(File srcFile) {
        //获取这个路径下的所有的文件夹以及文件的File的数组
        File[] files = srcFile.listFiles();
        //非空判断
        if(files!=null){
            //遍历
            for(File file:files){
                //判断file对象是否代表的是文件夹?
                if(file.isDirectory()){
                    //是文件夹,继续调用 deleteFolder(file) ;
                    deleteFolder(file);
                }else{
                    //不是文件夹,将文件删除
                    System.out.println(file.getName()+"----"+file.delete());
                }
            }
            System.out.println(srcFile.getName()+"---"+srcFile.delete());
        }
    }
}

夹....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值