java删除某文件目录下的所有空文件夹(如果当前文件夹为空,也要删除)

java删除某文件目录下的所有空文件夹(如果当前文件夹为空,也要删除)

java 复制代码
@Test
public void testDeleteEmptyDirectory(){
    deleteEmptyDirectory(new File("D:\\Temp\\testFile"));
}

//删除某文件目录下的所有空白文件夹
public static void deleteEmptyDirectory(File file){
    //1、如果本来文件就为null,那么就返回
    if (file == null) return;
    //2、判断文件不为null或文件目录存在
    if (!file.exists()) {
        System.out.println("文件删除失败,请检查文件是否存在以及文件路径是否正确");
        return;
    }
    //3、获取目录下子文件
    File[] files = file.listFiles();

    //4.1判断存在子文件,不存在子文件,则删除
    if (files == null || files.length == 0) {
        System.out.print("目录名:" + file.getName());
        file.delete();
        System.out.println("被删除!");
        return;
    }

    //4.2 遍历该目录下的文件对象
    for (File f : files) {
       if (f.isDirectory()) deleteEmptyDirectory(f);
    }

    if (file != null && file.listFiles().length == 0) {
        System.out.print("目录名:" + file.getName());
        file.delete();
        System.out.println("被删除!");
    }
}
相关推荐
何中应3 分钟前
使用Spring自带的缓存注解维护数据一致性
java·数据库·spring boot·后端·spring·缓存
ZeroToOneDev3 分钟前
Mybatis
java·数据库·mybatis
步步为营DotNet4 分钟前
深度解读.NET中ConcurrentDictionary:高效线程安全字典的原理与应用
java·安全·.net
heartbeat..6 分钟前
Spring Boot 学习:原理、注解、配置文件与部署解析
java·spring boot·学习·spring
零度@7 分钟前
Java 消息中间件 - 云原生多租户:Pulsar 保姆级全解2026
java·开发语言·云原生
七夜zippoe8 分钟前
分布式事务解决方案(二) 消息队列实现最终一致性
java·kafka·消息队列·rocketmq·2pc
野犬寒鸦9 分钟前
从零起步学习RabbitMQ || 第一章:认识消息队列及项目实战中的技术选型
java·数据库·后端
海鸥8112 分钟前
k8s中items.key的解析和实例
java·docker·kubernetes
老毛肚14 分钟前
Spring源码探究1.0
java·后端·spring
韩立学长16 分钟前
【开题答辩实录分享】以《以体验为中心的小学古诗互动学习App的设计及实现》为例进行选题答辩实录分享
java·spring·安卓