JAVA实现将磁盘中所有空文件夹进行删除的代码

发布时间 - 2026-01-11 01:56:17    点击率:

实现代码一、

import java.io.File;
import java.io.*;
public class DelNullDir {
	public void ShowDir(File f){
		for (File f1:f.listFiles()){
			if(f1.isDirectory()){
				ShowDir(f1);
				//一直递归到最后的目录
				if(f1.listFiles().length==0){
					//如果是文件夹里面没有文件证明是空文件,进行删除
					f1.delete();
				}
			}
		}
	}
	/**
 * 
 * 把磁盘中所有空的文件夹进行删除
 */
	public static void main(String[] args) {
		File f = new File("F:\\360CloudUI\\");
		new DelNullDir().ShowDir(f);
	}
}

实现代码二、

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Date;
/**
 * Description:递归方式,扫描并删除磁盘中的空文件夹
 *(C盘中的一些空文件夹是系统文件夹,删除多次后空文件夹数量不变,则停止此程序)
 * */
public class DelEmptyFolders {
  //空文件夹的绝对路径
  private static StringBuffer paths;
  //本次扫描的空文件夹的数量
  private static int cnt;
  public static void main(String[] args) {
    boolean flag = true;
    do{
      cnt = 0;
      paths = new StringBuffer();
      long start = new Date().getTime();
      System.out.println("正在扫描......");
      //要扫描的磁盘
      File disk = new File("C:/");
      //日志文件的位置
      File log = new File("D:/scanLog_C.txt");
      try {
        //扫描磁盘
        scanEmptyFolders(disk);
        //空文件夹数大于0时,将文件夹的绝对路径记录到日志中并再扫描一次;否则停止扫描
        if(cnt > 0){
          fileWrite(paths.toString(), log);
        }else{
          flag = false;
        }
      } catch (FileNotFoundException e1) {
        e1.printStackTrace();
      } catch (IOException e2) {
        e2.printStackTrace();
      }
      long end = new Date().getTime();
      System.out.println("本次扫描完毕,耗时:"+(end-start)/1000+" 秒,共删除:"+cnt+" 个空文件夹!\n");
    }while(flag);
  }
  /**
   * TODO:递归扫描空文件夹
   * @throws UnsupportedEncodingException
   * */
  private static void scanEmptyFolders(File file) throws UnsupportedEncodingException{
    if(file != null && file.isDirectory()){
      File[] files = file.listFiles();
      //非空文件夹
      if(files != null){
        if(files.length > 0){
          for (File temp : files) {
            scanEmptyFolders(temp);
          }
        }else{
          System.out.println(file.getAbsolutePath());
          //记录日志
          paths.append(new String((file.getAbsolutePath()+"\r\n").getBytes(),"UTF-8"));
          cnt++;
          //删除空文件夹
          file.delete();
        }
      }
    }
  }
  /**
   * TODO:将字符串写入文本文件
   * @throws IOException
   * */
  private static void fileWrite(String info,File file) throws IOException{
    FileOutputStream fos = new FileOutputStream(file);
    BufferedOutputStream bos = new BufferedOutputStream(fos);
    bos.write(info.getBytes());
    bos.flush();
    bos.close();
    fos.close();
  }
}

以上就是JAVA删除空文件夹的实现代码,需要的朋友可以参考一下。


# JAVA  # 删除  # 空文件夹  # java删除文件和文件夹具体实现  # java删除文件夹下所有文件示例分享  # Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法  # java实现读取、删除文件夹下的文件  # java删除指定目录下所有空文件夹的方法  # java 删除文件夹中的所有内容而不删除文件夹本身的实例  # Java删除指定文件夹下的所有内容的方法(包括此文件夹)  # Java实现的模糊匹配某文件夹下的文件并删除功能示例  # Java如何通过File类方法删除指定文件夹中的全部文件  # Java实现文件夹中内容定时删除  # 递归  # 盘中  # 文本文件  # FileOutputStream  # IOException  # UnsupportedEncodingException  # CloudUI  # BufferedOutputStream  # args  # FileNotFoundException  # util  # int  # paths  # boolean  # cnt  # StringBuffer  # Description  # Date  # private  # DelEmptyFolders 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何基于PHP生成高效IDC网络公司建站源码?  Linux系统命令中tree命令详解  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  如何在建站之星绑定自定义域名?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何在阿里云虚拟主机上快速搭建个人网站?  香港网站服务器数量如何影响SEO优化效果?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  如何快速生成专业多端适配建站电话?  太平洋网站制作公司,网络用语太平洋是什么意思?  如何选择可靠的免备案建站服务器?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  js代码实现下拉菜单【推荐】  网站制作免费,什么网站能看正片电影?  Laravel安装步骤详细教程_Laravel环境搭建指南  Laravel如何处理CORS跨域请求?(配置示例)  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  装修招标网站设计制作流程,装修招标流程?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  如何基于云服务器快速搭建个人网站?  Android okhttputils现在进度显示实例代码  ,交易猫的商品怎么发布到网站上去?  Mybatis 中的insertOrUpdate操作  焦点电影公司作品,电影焦点结局是什么?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何用美橙互联一键搭建多站合一网站?  制作公司内部网站有哪些,内网如何建网站?  如何快速查询网址的建站时间与历史轨迹?  如何在香港免费服务器上快速搭建网站?  zabbix利用python脚本发送报警邮件的方法  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何用AWS免费套餐快速搭建高效网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  网站优化排名时,需要考虑哪些问题呢?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南