Rekursive Dateisuche mit Filter

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Rekursive Dateisuche mit Filter

    Aur und meine Wenigkeit hatten gestern das Problem, eine rekursive Dateisuche nach Filter in Java formulieren zu müssen. Weil das ein bisschen Arbeit war, wollen wir allen, die das auch mal machen müssen/wollen, die Arbeit etwas erleichtern. Hier der Code:

    Java-Quellcode

    1. import java.*;
    2. import java.io.*;
    3. public class recsearch
    4. {
    5. private static String Ergebnisse = "";
    6. public static void besucheDirectory(String dir)
    7. {
    8. File verzeichnis = new File(dir);
    9. String aktuellesDirectory = verzeichnis.getAbsolutePath();
    10. if (!verzeichnis.isFile())
    11. {
    12. String Dateien[] = verzeichnis.list();
    13. for (int i=0; i < Dateien.length; i++)
    14. {
    15. Dateien[i] = aktuellesDirectory + "\\" + Dateien[i];
    16. File aktuelleDatei = new File(Dateien[i]);
    17. if (aktuelleDatei.isFile() && !aktuelleDatei.isDirectory())
    18. {
    19. // Die nächsten 2 Zeilen sind der Filter
    20. int dot = Dateien[i].indexOf(".txt");
    21. if (dot >=0)
    22. {
    23. Ergebnisse += (Dateien[i] + "\n");
    24. }
    25. }
    26. else if (aktuelleDatei.isDirectory())
    27. {
    28. dir = aktuelleDatei.getAbsolutePath();
    29. besucheDirectory(dir);
    30. }
    31. }
    32. }
    33. }
    34. public static void main(String args[])
    35. {
    36. System.out.println("This is a recursive Filesearch.\nI'm looking for *.txt now...\n");
    37. besucheDirectory("C:");
    38. System.out.println(Ergebnisse);
    39. }
    40. }
    Alles anzeigen


    Die Klasse speichert die Ergebnisse in einem String, wobei die einzelnen Ergebnisse (Dateien) jeweis durch ein Zeilenende markiert sind ;)