递归法删除目录的类

来源:互联网 发布:hadoop传统数据数仓 编辑:程序博客网 时间:2024/06/02 09:32

 

在网上找到的,感觉写的比较好,拿出来分享一下吧!

不过这种方法只适合小型的应用,如果你的目录下有几千个文件,那它产生的堆栈空间估计会把你的电脑撑爆掉的(呵呵,有点夸张)

public class DelDir{
  
public static void del(String filepath) throws IOException {
        File f 
= new File(filepath);
   
if (f.exists() && f.isDirectory()) {
      
if (f.listFiles().length == 0{
            f.delete();
         }

     
else {
         File delFile[] 
= f.listFiles();
        
int i = f.listFiles().length;
     
for (int j = 0; j < i; j++{
      
if (delFile[j].isDirectory()) {
           del(delFile[j].getAbsolutePath());  //递归删除
        }

        delFile[j].delete();
        }

      }

      del(filepath);  //用来删除最上级目录
    }

  }

}