java删除指定目录下所有空文件夹的方法

 更新时间:2016年08月22日 15:18:56   作者:々上善若水々  
这篇文章主要介绍了java删除指定目录下所有空文件夹的方法,涉及java针对文件与目录的遍历及目录删除相关操作技巧,需要的朋友可以参考下

本文实例讲述了java删除指定目录下所有空文件夹的方法。分享给大家供大家参考,具体如下:

package com.func;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
 * 删除指定目录下的所有空文件夹
 *
 * @author zdw
 *
 */
public class FileUtils
{
  List<File> list = new ArrayList<File>();
  // 得到某一目录下的所有文件夹
  public List<File> visitAll(File root)
  {
    File[] dirs = root.listFiles();
    if (dirs != null)
    {
      for (int i = 0; i < dirs.length; i++)
      {
        if (dirs[i].isDirectory())
        {
          System.out.println("name:" + dirs[i].getPath());
          list.add(dirs[i]);
        }
        visitAll(dirs[i]);
      }
    }
    return list;
  }
  /**
   * 删除空的文件夹
   * @param list
   */
  public void removeNullFile(List<File> list)
  {
    for (int i = 0; i < list.size(); i++)
    {
      File temp = list.get(i);
      // 是目录且为空
      if (temp.isDirectory() && temp.listFiles().length <= 0)
      {
        temp.delete();
      }
    }
  }
  /**
   * @param args
   */
  public static void main(String[] args)
  {
    FileUtils m = new FileUtils();
    List<File> list = m.visitAll(new File("e:/aaa"));
    System.out.println(list.size());
    for (int i = 0; i < list.size(); i++)
    {
      System.out.println(list.get(i).getPath());
    }
    m.removeNullFile(list);
    System.out.println("ok");
  }
}

更多关于java相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • java连接池Druid获取连接getConnection示例详解

    java连接池Druid获取连接getConnection示例详解

    这篇文章主要为大家介绍了java连接池Druid获取连接getConnection示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • tio-boot jfinal-plugins框架整合redis示例详解

    tio-boot jfinal-plugins框架整合redis示例详解

    这篇文章主要为大家介绍了tio-boot jfinal-plugins框架整合redis示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • mybatis plus or and 的合并写法实例

    mybatis plus or and 的合并写法实例

    这篇文章主要介绍了mybatis plus or and 的合并写法实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 详解Java多线程编程中CountDownLatch阻塞线程的方法

    详解Java多线程编程中CountDownLatch阻塞线程的方法

    在Java中和ReadWriteLock.ReadLock一样,CountDownLatch的本质也是一个"共享锁",这里我们就来详解Java多线程编程中CountDownLatch阻塞线程的方法:
    2016-07-07
  • Java中Jackson的多态反序列化详解

    Java中Jackson的多态反序列化详解

    这篇文章主要介绍了Java中Jackson的多态反序列化详解,多态序列化与反序列化,主要是借助于Jackson的@JsonTypeInfo与@JsonSubTypes注解实现,下面将通过几个例子来简述其运用,需要的朋友可以参考下
    2023-11-11
  • 从Mybatis-Plus开始认识SerializedLambda的详细过程

    从Mybatis-Plus开始认识SerializedLambda的详细过程

    这篇文章主要介绍了从Mybatis-Plus开始认识SerializedLambda,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Java中for循环的执行过程分析

    Java中for循环的执行过程分析

    这篇文章主要介绍了Java中for循环的执行过程,实例分析了for循环的执行原理与顺序,对于深入理解Java具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • SpringBoot项目在IntelliJ IDEA中如何实现热部署

    SpringBoot项目在IntelliJ IDEA中如何实现热部署

    spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。,这篇文章主要介绍了SpringBoot项目在IntelliJ IDEA中如何实现热部署,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 微信小程序+后端(java)实现开发

    微信小程序+后端(java)实现开发

    这篇文章主要介绍了微信小程序+后端(java)实现开发,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Spring Boot 内置工具类ReflectionUtils的实现

    Spring Boot 内置工具类ReflectionUtils的实现

    ReflectionUtils是一个反射工具类,它封装了Java反射的操作,使得我们能够更轻松地操作和访问类的方法、字段,本文主要介绍了Spring Boot 内置工具类ReflectionUtils的实现,感兴趣的可以了解一下
    2023-11-11

最新评论