Java递归删除文件(包括子目录)

Java递归删除文件(包括子目录)

思路

递归的解题步骤

  • 实现递归到底是怎么样的,该做什么(终止条件)
  • 实现递归的倒数第二步该做什么。
  • 实现整个程序的最后一个步骤,应该返回什么值,该干什么
package Day15;

import java.io.File;
import java.util.Arrays;

/**
 * @author: AmberZxh
 * @DateTime: 2021/1/16 2:15 下午
 * @description:
 * 思路:
递归最终条件
 * - 获取目录的下的所有File对象(包括文件和文件夹)
 * - 判断,如果是一个空目录或者file对象不是一个目录而是文件
 *   - 直接删除
 
 上一步该怎么做
 * - 程序执行到这里,那么一定是一个目录,且不是空目录
 *   - 遍历获取的file数组
 *   - 如果这个file对象仍然是一个目录,递归删除该目录
 *   - 如果这个file对象是文件,直接删除
 
 
 程序最后要干什么
 * - 最后不要忘记删除已经是空目录的当前目录
 */
public class Main {


 public static void delDir(File file){
     File[] files = file.listFiles();
     if(files==null||files.length==0){
         file.delete();
         return ;
     }
     for (File file1 : files) {
         if(file1.isDirectory()){
             delDir(file1);
         }else {
             file1.delete();
         }
     }

     file.delete();

 }

    public static void main(String[] args) {

        File file=new File("/Users/zhangxuhui/public/firstLevel");
        delDir(file);


    }


}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值