1 public static void delDir(File f) {
 2     // 判断是否是一个目录, 不是的话跳过, 直接删除; 如果是一个目录, 先将其内容清空.
 3     if(f.isDirectory()) {
 4         // 获取子文件/目录
 5         File[] subFiles = f.listFiles();
 6         // 遍历该目录
 7         for (File subFile : subFiles) {
 8             // 递归调用删除该文件: 如果这是一个空目录或文件, 一次递归就可删除. 如果这是一个非空目录, 多次
 9             // 递归清空其内容后再删除
10             delDir(subFile);
11         }
12     }
13     // 删除空目录或文件
14     f.delete();
15 }

顺便说一下, 64位的系统大概可以调用几万次递归. 我们基本上不会创建有一万多层的目录. 所以这种方法可以应对一般情况, 不会造成内存溢出等问题.

转载于:https://www.cnblogs.com/zhenyu-go/p/5554979.html

一个Java递归删除目录的方法相关推荐

  1. 一步一步实现一个Java树形结构体方法

    废话不多说 ,实现一个树型结构体首先得需要一个对象来装载需要的结构数据: // idprivate Integer id;// 节点名称private String name;// 选中状态priva ...

  2. 一个Java 程序的主方法_java application程序中,每一个类中,必有一个主方法main()方法。...

    [多选题]518.电视作品情节结构有() [多选题]下列少数民族中,( )的住房形式多为干栏式建筑. [单选题]21.教师埋头备课,突然站起来,下一镜头就可接教师站着在讲台上讲课,这是( ). [判断 ...

  3. java递归基本结构_JAVA学习入门篇_递归结构

    递归是一种常见的解决问题的方法,即把问题逐渐简单化.递归的基本思想就是"自己调用自己",一个使用递归技术的方法将会直接或者间接的调用自己. ​ 利用递归可以用简单的程序来解决一些复 ...

  4. eclipse怎么导入一个Java项目(莫要错过,最详细教程!)

    导出项目教程链接-->传送门 对于eclipse软件,常规的打开文件方法是无法打开一个项目的, 那么怎样导入一个java项目呢?方法如下 第一步 在电脑打开eclipse软件,点击file-&g ...

  5. java 递归_两篇文章带你了解java基础算法之递归和折半查找

    2.1 递归 递归(recursion)是一种常见的解决问题的方法,即把问题逐渐简单化.递归的基本思想就是"自己调用自己",一个使用递归技术的方法将会直接或者间接的调用自己.利用递 ...

  6. 【java基础18:方法覆盖与多态】什么时候使用方法覆盖 toString方法的覆盖 多态的基础语法与作用 向上/向下转型

    目录 方法覆盖Override 多态 方法覆盖Override 方法覆盖初体验,什么样的程序要方法覆盖 /*当前程序存在的问题(设计上的问题)??鸟儿在执行move()方法的时候,最好输出的结果是:& ...

  7. php 递归删目录和文件,php递归删除目录与文件的方法

    php递归删除目录与文件的方法 本文实例讲述了php递归删除目录与文件的方法.分享给大家供大家参考.具体实现方法如下: function deldir($path){ $dh = opendir($p ...

  8. java递归怎么写_什么是递归?用Java写一个简单的递归程序

    什么是递归?用Java写一个简单的递归程序 递归的定义 递归(recursion):以此类推是递归的基本思想,将规模大的问题转化为规模小的问题来解决. 递归的要素 自定义递归函数,并确定函数的基本功能 ...

  9. Java动态加载一个类的几种方法以及invoke

    一.加载一个类的几种方法 接口 IUser package org.me.javaapp;/**** @author Administrator*/ public interface IUser {} ...

最新文章

  1. 【MySql】mysql 慢日志查询工具之mysqldumpslow
  2. 智能音箱中采用的数字音频功放
  3. 2016年五一劳动节天津之旅
  4. 合天网安实验室CTF-Steg150-一段欢快的曲调
  5. 【Ubuntu系统】ubuntu18.04磁盘空间满了无法进入系统(3种方式,已解决)
  6. Numpy 最大值与最大值索引函数+random总结
  7. 3DMax学习:一:安装
  8. MATLAB实战应用-【数据处理篇】数据清洗(从方法论到实战应用)
  9. java-net-php-python-ssm大学英语阅读大赛管理系统计算机毕业设计程序
  10. 大数据平台架构:数据平台建设的几种方案
  11. 黑马Redis视频教程实战篇(六)
  12. INTELAMD性能天梯图
  13. 360急救箱删除mongodb服务后的修复过程(重建mongodb服务)
  14. Raspberry Pi: WiFi设置
  15. 一中OJ #1151 [USACO Jan08] 化妆晚会 | 排序与查找 | 解题报告
  16. 云南电信机房介绍,电信机柜租用、托管整体解决方案
  17. 相机光心在世界坐标系下的坐标(相机坐标系原点在世界坐标系下的坐标与c2w的关系)
  18. 程序员:职场红利已尽,如何避免被裁以及快速找到工作?
  19. js实现焦点进入文本框内关闭输入法
  20. Normal Equation & Non-invertibility

热门文章

  1. 大数据量表中,增加一个NOT NULL的新列
  2. NVIDIA Tesla/Quadro和GeForce GPU的比较
  3. Kubernetes使用集群联邦实现多集群管理
  4. React中setState修改深层对象
  5. XPsp3键盘设备链/栈信息_02_VMware
  6. linux下makefile使用
  7. ITSM为人服务,还是人为ITSM服务?
  8. ubuntu新建python代码文件_[Vim]新建python文件自动添加python header
  9. pythonsorted_[转].Python中sorted函数的用法
  10. Quartus16.1布线优化选择,重编译可能会满足时序