Heim >Java >javaLernprogramm >Wie kann ich mit Apache Commons-IO Dateien finden, die Platzhaltermustern in Java entsprechen?

Wie kann ich mit Apache Commons-IO Dateien finden, die Platzhaltermustern in Java entsprechen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-15 00:22:15964Durchsuche

How Can I Find Files Matching Wildcard Patterns in Java Using Apache Commons-IO?

Dateien mit Platzhaltermustern in Java finden

Die vorliegende Frage besteht darin, eine Möglichkeit zu finden, Dateien zu identifizieren, die mit einer Platzhalterzeichenfolge übereinstimmen, z „../Test?/sample*.txt“ in Java. Trotz der Verfügbarkeit des WildcardFileFilter von Apache commons-io kann es zu Verwirrung hinsichtlich seiner Implementierung zum Suchen von Dateien in relativen Verzeichnispfaden kommen.

Verwendung von Apache Commons-IO

Zu Wenn Sie FileUtils von Apache commons-io verwenden, kann das folgende Code-Snippet verwendet werden:

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

Dieser Code gibt eine zurück Array übereinstimmender Dateien im aktuellen Verzeichnis.

Verwaltung von Verzeichnissen

Um nach Dateien in Unterverzeichnissen wie „Test1“ und „Test4“ aus dem Beispielmuster zu suchen, Es kann eine zusätzliche Schleife hinzugefügt werden:

File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java");
for (int i=0; i<dirs.length; i++) {
   File dir = dirs[i];
   if (dir.isDirectory()) {
       File[] files = dir.listFiles(new WildcardFileFilter("sample*.java"));
   }
}

Dadurch werden rekursiv Dateien gesucht und aufgelistet, die dem angegebenen Platzhalter entsprechen Muster.

Andere Überlegungen

Ein in der Frage erwähnter alternativer Ansatz besteht darin, den Quellcode von Apache Ant zu untersuchen, der eine Platzhaltersyntax verwendet. Für die meisten Benutzer ist dies jedoch möglicherweise nicht die einfachste Lösung.

Darüber hinaus ist es erwähnenswert, dass die Java Runtime Environment (JRE) einfache Platzhalter in Befehlszeilenargumenten automatisch analysiert, was den Prozess für grundlegende Szenarios vereinfacht.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Apache Commons-IO Dateien finden, die Platzhaltermustern in Java entsprechen?. 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