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设置技巧与跨境访问优化指南

