第一阶段模块四作业第二题

题目:
实现将指定目录中的所有内容删除,包含子目录中的内容都要全部删除。

思路:
使用递归思想即可,先列出目录下所有文件信息,如果是文件则直接删除,如果是文件夹则递归。具体代码如下。

视频:https://www.bilibili.com/video/BV11p4y1H7xe

package step1_task4_homework;

import java.io.File;

public class RemoveAllTest {
    /**
     * 删除目录下所有文件
     * @param f 待删除目录
     * @return 是否删除成功
     */
    public static Boolean removeFile(File f){
//      判断输入目录是否存在
        if (f.exists()){
//          获取改目录下所有文件信息
            File[] files = f.listFiles();
//          存在,遍历该目录下的文件及文件夹
            for (File f1:files){
//              如果是文件
                if (f1.isFile()){
//                  删除该文件
                    f1.delete();
                    System.out.println("删除"+ f1.getAbsolutePath());
                }
//              如果是文件夹,则递归
                if (f1.isDirectory()){
                    removeFile(f1);
                    System.out.println("删除"+ f1.getAbsolutePath());
                }
            }
//            删除最外面文件夹
            f.delete();
            return true;

        }else {
            System.out.println("待删除目录不存在,请输入正确目录!");
            return false;
        }


    }
    public static void main(String[] args) {
//        待删除文件路径
        String delPath = "D:\\tmp\\1";
        Boolean f = removeFile(new File(delPath));
//       递归方法里没法打印最外面一层文件夹,所以最外面一层单独拿出来打印
        if (f){
            System.out.println("删除" + delPath);
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值