2010-10-29 49 views
0

我需要做一些家務管理。我不小心設置我的類路徑與我的代碼庫相同,並且所有類都與我的代碼一起放置。我需要編寫一個快速的java程序來選擇所有類型的文件。 class和.class,並立即刪除它。有沒有人做過與此相關的事情?文件處理的核心java

回答

4

你爲什麼不使用外殼來做到這一點,是這樣的:

的Linux:

find . -name *.class -print -exec rm {} \; 

的Windows:

for /r %f in (*.class) do del %f 
+0

首先進行備份。以防萬一。 – Thilo 2010-10-29 05:16:48

+0

我假設我應該從應該刪除.class文件的包中運行,並且它將深入到任何級別。 – Harish 2010-10-29 05:20:51

+0

這將在當前的子目錄中查找。當然,備份總是一個好主意 – 2010-10-29 05:35:17

1
find . -name "*.class" -exec rm '{}' \; 
1

這可能會實現。未經測試。那些查找/尋找其他人的命令也看起來很有希望,但是如果你在OS/390主機上,這裏是Java。 ;-)

import java.io.File; 
import java.io.IOException; 

public class RemoveClass { 

    public static void main(String[] args) throws Exception { 
     File f = new File("."); 
     deleteRecursive(f); 
    } 

    public static void deleteRecursive(File f) throws IOException { 
     if (f.isDirectory()) { 
      for (File file : f.listFiles()) { 
       deleteRecursive(file); 
      } 
     } else if (f.isFile() && f.getName().endsWith(".class")) { 

      String path = f.getCanonicalPath(); 

      // f.delete(); 
      System.out.println("Uncomment line above to delete: [" + path + "]"); 

     } 
    } 
} 
+1

在OS/390上(假設它類似於AS/400),有一個'QSHELL'和'find' :) – 2010-10-29 05:38:15