/**
* 因为不小心,写了一个死循环,在电脑里创建的了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. Gulp 之图片压缩合并

    同事需要处理很多的图片,由于UI那边提供图片比较大,为了性能好一点,程序包小一点,因此希望我帮忙做成小程序来完成此工作. 其实之前做过一个grunt写的图片压缩合并工具,当时是为了处理270多个国家/ ...

  2. 带你领略Linux系统发展及版本更迭

    Linux的出现是在1991年,Linus Torvalds的学生开发的,最初的Linux是类似Unix操作系统,可用于386,486或奔腾处理器的计算机上.Linus Torvalds是一个伟人,他 ...

  3. 关于input

    form表单的使用: 1.iuput:type:类型有很多常用的: text:输入的内容为文本格式(内容可见) password:输入的内容为......(内容不可见) radio:显示为单选框(框为 ...

  4. linux 虚拟机配置固定ip

    参考这边博客: https://blog.csdn.net/u014466635/article/details/80284792 但是这个有个小问题,就是没有配置dns,导致连不上公网 /etc/s ...

  5. Linux内核分析--进程创建,执行,切换

    学号:351 原创作品转载请注明出处本实验来源 https://github.com/mengning/linuxkernel/ 实验要求 从整理上理解进程创建.可执行文件的加载和进程执行进程切换,重 ...

  6. Django--Managers

    Django--Managers Manager 概念: 1.Manager是Django中的数据模型,可以通过manager进行对数据库的查询操作.可以看其结构它本身是一个空的类,其主要的功能来自于 ...

  7. chrome 无头浏览器的使用

    在linux服务器上安装chrome : ubuntu: 下载页面https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linu ...

  8. 【基于微信小程序的社区电商平台】Alpha迭代心得

    项目团队:小豆芽 开发周期:11.5-12.2(Alpha版本) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题:当前电商平台卖家买家角 ...

  9. windows openssl-1.1.1 编译静态库和动态库

    一下为windows上安装过程 1.下载 openssl-1.1.0.tar.gz 2.安装 ActivePerl, 可以到http://www.activestate.com/activeperl/ ...

  10. python 全栈开发笔记 4

    反射 1.通过字符串的形式导入模块 2.通过字符串的形式,去模块中寻找指定函数并执行 ''' def f1(): return 'F1' def f2(): return 'F2' ''' #假设上面 ...