`

递归删除目录和文件

    博客分类:
  • java
SVN 
阅读更多
  1. import java.io.*;   
  2.   
  3. public class DelDir {   
  4.   
  5.     public static void main(String[] args) {           
  6.         String rootDir = "D:\\work\\project\\ACProductDemo";   
  7.         String delDirName = ".svn";   
  8.         DelDir del = new DelDir();   
  9.         del.FindDirectory(rootDir,delDirName);   
  10.     }   
  11.     /**//*  
  12.      *   
  13.      */  
  14.     private void FindDirectory(String root,String delName){   
  15.         //root是根目录的绝对路径   
  16.         File directory = new File(root);   
  17.         File[] files = directory.listFiles();   
  18.         //根目录为空   
  19.         if(files.length ==0){   
  20.             System.out.println(root+"根目录为空!");   
  21.             return;   
  22.         }   
  23.         else{   
  24.             for(int i=0;i<files.length;i++){   
  25.                 if(files[i].isDirectory()){   
  26.                     //根目录的子文件夹就是要删除的文件夹   
  27.                     if(files[i].getName().equals(delName)){   
  28.                         System.out.println(files[i].getAbsolutePath());   
  29.                         DelDirectory(files[i]);   
  30.                     }   
  31.                     //根目录的子文件夹不是要删除的文件夹   
  32.                     else{   
  33.                         FindDirectory(files[i].getAbsolutePath(),delName);   
  34.                     }   
  35.                 }                   
  36.             }   
  37.         }   
  38.     }   
  39.        
  40.     private void DelDirectory(File directory){   
  41.         File[] children = directory.listFiles();   
  42.         if(children.length==0){   
  43.             directory.delete();   
  44.             System.out.println("\t删除目录"+directory.getName());   
  45.         }   
  46.         else{   
  47.             for(int i=0;i<children.length;i++){   
  48.                 if(children[i].isFile()){   
  49.                     children[i].delete();   
  50.                     System.out.println("\t删除文件"+children[i].getName());   
  51.                 }   
  52.                 else if(children[i].isDirectory()){   
  53.                     DelDirectory(children[i]);   
  54.                     System.out.println("\t"+children[i].getAbsolutePath());   
  55.                 }   
  56.             }   
  57.             directory.delete();   
  58.             System.out.println("\t删除目录"+directory.getName());   
  59.         }   
  60.     }   
  61. }   
  62.   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics