/**
* 因为不小心,写了一个死循环,在电脑里创建的了n多层空文件夹
* 并且手动最外层删除不掉.
* 所以用写了本代码,从里向外的进行删除操作.
* @author Singularity
* @since 2019.1.21
*/
public class Dele {
//文件夹所嵌套的层数
public static int totalSize;
//计数器
public static int count;
//每次删除的数量 是100
public static int num = 0;
//每次删除的数量 是100
public static boolean first = true; public static void main(String[] args) {
File file = new File("E:\\111");
try {
long firstTime = System.currentTimeMillis();
while (true) {
//初始化计数器
count = 0;
totalSize = totalSize - 199;
//开始执行删除操作
delAll(file);
if (totalSize < 1) {
break;
}
}
long okTime = System.currentTimeMillis();
System.out.println("总共耗时:" + ((okTime - firstTime) / 1000) + "秒");
} catch (IOException e) {
e.printStackTrace();
}
} /**
* 删除文件夹下所有内容,包括此文件夹删除文件夹下所有内容,包括此文件夹
* @param f
* @throws IOException
*/
public static void delAll(File f) throws IOException {
File[] sub = f.listFiles();
//如果是第一次进来
if (first) {
if (sub != null && sub.length > 0) {
count++;
delAll(sub[0]);
} else {
totalSize = count;
first = false;
System.out.println("===总共有" + totalSize + "层文件夹===");
}
//及时清空,否则会出现栈内存溢出StackOverflowError
sub = null;
} else {
if (sub.length > 0) {
count++;
if (totalSize - count < 100) {
FileUtils.deleteDirectory(f);
System.out.println(">>>还有" + (count - 1) + "层文件夹没有删除");
}else {
delAll(sub[0]);
}
}
//及时清空,否则会出现堆内存溢出
sub = null;
}
}
}

java 删除多层文件夹的更多相关文章

  1. Xcodeproj相关以及删除 多层文件夹、库、资源逻辑

    一.介绍Xcodeproj是CocoaPods用ruby开发的一个插件库,可以用来新建.修改Xcode工程. 二.wiki和资源Xcodeproj wiki   :https://www.rubydo ...

  2. Java 删除当前文件夹及其文件夹下的全部文件

    删除文件夹2以下的全部文件及其文件夹 演示样例文件夹例如以下:D:/test/1/2 1.使用FileUtils类.静默删除 String url = "D:/test/1/2"; ...

  3. JAVA删除某个文件夹(递归删除文件夹的所有文件)

    /** * 递归删除文件夹下所有内容 最后删除该文件夹 * @param filePath 要删除的文件夹路径 * @return */ public boolean deleteFiles(Stri ...

  4. windows 删除多层文件夹

    眼下目录d:\clu_1下有99个目录,名字为0,1....99,每一个目录下又有25个目录,目录名为0,1,....24,其下其下又有以日期命名的目录(如20140521),最后是zip文件.如一个 ...

  5. java删除递归文件夹及文件夹下文件

    public static void delUrlLocalFile(String urlPath) { File file = new File(urlPath); if(file.isDirect ...

  6. java:多层文件夹情况下,判断文件夹下是否有文件夹,并获取到没有文件夹的名字的方法

    业务问题案例 在公司遇到的一个问题,本以为很小很好解决,没想到花了一下午时间.图给的是文件路径,page1下有10个文件夹,每个有的有文件夹或者文件,要求得到page1下(即:123456789,10 ...

  7. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

  8. Java:<获取>、<删除>指定文件夹及里面所有文件

    工具类代码如下: 一.获取 public Class Test{ //定义全局变量,存放所有文件夹下的文档 List<String> fileList ; public List<S ...

  9. Java——如何创建文件夹及文件,删除文件,文件夹

    package com.zz; import java.io.File; import java.io.IOException; /** * Java创建文件夹 */ public class Cre ...

随机推荐

  1. TF-IDF特征选择

  2. 重命名文件夹提示"找不到指定文件"

    本人Win10使用360粉碎了一个文件夹后,出现如下问题,并且重启无效,因已修复好,借图: 出现以上问题不用慌,程序员必备技能,重装系统可破. 哈哈,开个玩笑,解决方法步骤如下: ①百度下载 Fold ...

  3. oracle数据库自学笔记(持续更新中……)

    以前的项目都是使用mysql数据库开发的,如今进了新的公司,开始接触到了Oracle数据库,而自己以前没有接触过,就自己挤时间来学习一下. 一.关系型数据库的概念 关系型数据理论由E.F.Codd博士 ...

  4. 关于SASS

    SASS:(是一款辅助编写css的工具 安装之后可以通过同时按window键+“R”键 输入“powershell”进入CMD命令页面: 输入“sass -v”可以查看当前的sass版本 输入“cd ...

  5. css制作倒三角

    布局div,并命名为id="dropdown",在style使用border属性对div进行控制 #dropdown{ width:0px; height:0px; border- ...

  6. APP压力稳定性测试之monkey入门

    1.什么是monkey? Monkey是一个命令行工具,使用安卓调试桥(adb)来运行它,模拟用户触摸屏幕.滑动Trackball.按键等随机事件流来对设备上的程序进行压力测试,检测程序多久的时间会发 ...

  7. python pexpect包的一些用法

    转自:https://www.jianshu.com/p/cfd163200d12 mark一下,原文中写的挺详细

  8. windows环境下python编码问题

    log.info(unicode(str"你好" + "aaa")) 或 Log.info(u"你好111111111111111111111111& ...

  9. Linux常见命令快捷方式

    命令行编辑的辅助操作: Tab健:自动补齐 Ctrl +U :清空至首行 Ctrl +K:  清空至尾行 Ctrl +L:(或者clear) 清屏 Ctrl +C:  取消执行命令 获取帮助命令: 内 ...

  10. Linux Network Command

    查看 内外网访问ipnetstat -an download file from server scp -r root@139.xxx.xxx.82:~/virtualbox.box /tmp/