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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM