一个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递归删除目录的方法的主要内容,如果未能解决你的问题,请参考以下文章