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!