/**
* 因为不小心,写了一个死循环,在电脑里创建的了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. 在学习JavaScript中用到的示例

    jQuery老师博客 一.定时器示例 功能:让input的文本框,显示时间,并实时更新 逻辑思路: 1.先定义一个函数,用来把当前时间赋值给input.value 2.开始button设置点击事件,并 ...

  2. Tensorflow(添加噪声的方式)

    在去噪自编码器中,模型的输入是原始的输入经过某种形式的加噪过程后的衰弱的形式,所以加噪声一般分为:加高斯白噪声,掩模噪声,椒盐噪声. 1.加性高斯噪声 self.scale = tf,placehol ...

  3. 《程序设计入门——C语言》翁恺老师 第四周编程练习记录

    1 奇偶个数(5分) 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式: 一系列正整数,整数的范围是(0,1 ...

  4. Mac搭建SVN服务器+Cornerstone连接服务器

    Mac自带svn,我们只需配置并开启就可以了,打开终端,输入svnserve --version查看svn版本 可以看到我的mac自带的svn版本号为1.9.7,下面开始配置服务器: 1.终端输入su ...

  5. Django知识总结(二)

    拾 ● 模型(M) 一 ● ORM(对象关系映射, Object Relational Mapping) 类----一张表 类的实例对象----表中的一条记录 映射关系 ①python的类名对应的SQ ...

  6. Java实训:实训一 ——长春职业技术学院 16级网络工程

    Java实训:实训一 本文会解释一些设计思路. 想看具体过程,请转:https://www.cnblogs.com/lxwlxw/p/10114187.html 笑维的码云项目命名不太对,所以我来:h ...

  7. ubuntu 16.04 安装 opencv +contrib (3.2.0) + python 3.5

    环境: - ubuntu 16.04 - OpenCV + contrib 3.2.0 (文中附下载链接) - Python 3.5 基于其他环境的配置应该大同小异. 没时间解释了,直接上车. 更新下 ...

  8. flv文件解析(纯c解析代码)

    参考链接: 1. FLV科普12 FLV脚本数据解析-Metadata Tag解析 https://blog.csdn.net/cabbage2008/article/details/50500021 ...

  9. Java Script--------问题错误解决意外的终止输入Uncaught SyntaxError: Unexpected end of input解决办法

    错误信息: Uncaught SyntaxError: Unexpected end of input 错误原因: 一般是成对的符号只出现了单只,比如说“”,‘’,{},[]. 解决办法:检查符号是否 ...

  10. [转载]Fiddler 解析!抓包抓得好真的可以为所欲为 [一]

    说起抓包,很多人以为就是用个工具,简简单单地抓一下就可以了.昨天在面试一个安卓逆向,直接告诉我[抓包没有技术含量].在这里,我必须发一个教程,解析一下抓包神器——Fiddler.Fiddler仅仅是一 ...