Heim >Java >javaLernprogramm >Wie kann man Dateien mithilfe von Platzhaltermustern in Java effizient finden?

Wie kann man Dateien mithilfe von Platzhaltermustern in Java effizient finden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 10:50:10354Durchsuche

How to Efficiently Find Files Using Wildcard Patterns in Java?

Dateien mit Platzhalterzeichenfolgen in Java finden

Das Suchen von Dateien, die einem bestimmten Platzhaltermuster entsprechen, ist eine häufige Aufgabe in Java. Um diesem Bedarf gerecht zu werden, stellt Apache commons-io der FileUtils-Klasse Methoden wie listFiles und iterateFiles zur Verfügung.

Angenommen, Sie haben ein Platzhaltermuster wie dieses:

../Test?/sample*.txt

Um passende Dateien mit FileUtils aufzulisten :

File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("sample*.java");
File[] files = dir.listFiles(fileFilter);

for (File file : files) {
    System.out.println(file);
}

Dieser Code durchläuft die Dateien im aktuellen Verzeichnis, die dem angegebenen Platzhalter entsprechen. Um jedoch verschachtelte Verzeichnisse (z. B. TestX-Ordner) zu verarbeiten, können Sie zunächst die Verzeichnisse durchlaufen:

File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java"));

for (File dir : dirs) {
    if (dir.isDirectory()) {
        File[] files = dir.listFiles(new WildcardFileFilter("sample*.java"));
    }
}

Diese Lösung ist zwar effektiv, aber möglicherweise nicht so effizient wie gewünscht. Erwägen Sie die Verwendung eines RegexFileFilter für flexiblere und komplexere Übereinstimmungskriterien.

Das obige ist der detaillierte Inhalt vonWie kann man Dateien mithilfe von Platzhaltermustern in Java effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn