刪除指定文件夾和文件

import java.io.File;
import java.io.FileFilter;
import java.io.FileWriter;
import java.io.IOException;
//class myFilterFile implements FileFilter {
//    public boolean accept(File pathname) {
//     return pathname.isDirectory();
//    }
//}
public class delete {
 public static void main(String[] args){

  try {
   FileWriter out = new FileWriter("C://delLog.txt");
      System.out.println("begin");
      System.out.println(args[0]);
   String fileAbsolutePath = args[0];
   File file = new File(fileAbsolutePath);
   //iteratorDir(file.listFiles(new myFilterFile()));
   iteratorDir(file.listFiles(), out);
   out.close();
  }catch (IOException e) {
   e.printStackTrace();
  }
 }
 

    private static void iteratorDir(File[] listFiles,FileWriter out) throws IOException {
        if (listFiles == null) {
            listFiles = new File[0];
        }
        for (File file : listFiles) {
         if(file.getName().equals("MP.Kikan.DBFlute")){
          continue;
         }
            if (!deleteDir(file.getName(), file.getAbsolutePath(),out)) {
//                iteratorDir(file.listFiles(new myFilterFile()));
          iteratorDir(file.listFiles(),out);
            }
        }
    }
   
    private static boolean deleteDir(String dirName, String dirAbsolute,FileWriter out) throws IOException {
        File deleteFile = new File(dirAbsolute);
        if(dirName.equals("obj")||dirName.equals("bin")||dirName.endsWith(".vssscc")){
         deleteFold(deleteFile);
         System.out.println(dirAbsolute + "delete success");
         out.write(dirAbsolute + "delete success");
         out.write("/r/n");
         return true;
     }
        return false;
    }
   
    private static void deleteFold(File path){
        if (path.isDirectory()){
            File[] child = path.listFiles();
            if (child != null && child.length != 0){
                for (int i = 0; i < child.length; i++){
                 deleteFold(child[i]);
                    child[i].delete();
                }
            }
        }
        path.delete();
    }
}

 

 

run.bat

set classpath=. 
javac delete.java
java delete "E://aa-dev//bb//cc"
cmd

發佈了56 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章