2010-10-29 3 views
0

Мне нужно выполнить некоторую домашнюю работу. Я случайно установил свой путь в классе так же, как и свою кодовую базу, и все классы размещены вместе с моим кодом. Мне нужно написать быструю программу java для выбора всех файлов типа. class и .class и удалить его немедленно. Кто-нибудь сделал что-то, связанное с этим?Обработка файлов в ядре ядра

ответ

4

Почему вы не используете оболочку, чтобы сделать это, что-то вроде:

Linux:

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

Windows:

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

сделайте резервную копию первой. На всякий случай. – Thilo

+0

Я предполагаю, что я должен бежать из пакета, где я должен удалить файлы .class, и он будет проходить на любом уровне. – Harish

+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

Смежные вопросы