一个Java递归删除目录的方法

Posted ZhenyuGo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Java递归删除目录的方法相关的知识,希望对你有一定的参考价值。

 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位的系统大概可以调用几万次递归. 我们基本上不会创建有一万多层的目录. 所以这种方法可以应对一般情况, 不会造成内存溢出等问题.

以上是关于一个Java递归删除目录的方法的主要内容,如果未能解决你的问题,请参考以下文章

Java 基础语法方法的使用

Java递归删除目录及目录下的文件

Java递归删除目录及目录下的文件

java 20 -3 递归之删除特定目录下的特定文件

Java基础之方法的调用重载以及简单的递归

在Java中递归删除目录