java清除空文件夹
一、 获取所有目录
public static class DeleteNullDirectory {
public List getAllDirectorys(File root) {
List list = new ArrayList();
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]);
getAllDirectorys(dirs[i]);
}
}
}
return 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();
}
}
}
完整代码
package clearEmptyFile;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("all")
public class demo3 {
public static class DeleteNullDirectory {
public List getAllNullDirectorys(File root) {
List list = new ArrayList();
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]);
getAllNullDirectorys(dirs[i]);
}
}
}
return 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();
}
}
}
public static void main(String[] args) {
DeleteNullDirectory m = new DeleteNullDirectory();
List< File> list = m.getAllNullDirectorys(new File("C:"));
System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getPath());
}
m.removeNullFile(list);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构