Heim >Java >javaLernprogramm >Wie kann ich in Java effizient Dateien finden, die Platzhaltermustern entsprechen?
Dateien mit Platzhaltermustern in Java finden
Das Identifizieren von Dateien, die einem bestimmten Platzhaltermuster entsprechen, kann in Java entmutigend sein. Um diese Herausforderung zu bewältigen, sollten Sie die folgenden Ansätze in Betracht ziehen:
Verwenden von org.apache.commons.io.filefilter.WildcardFileFilter
Erstellen Sie eine FileFilter-Instanz mit WildcardFileFilter:
FileFilter fileFilter = new WildcardFileFilter("sample*.txt");
Anwenden Filtern Sie auf ein Verzeichnis, um übereinstimmende Dateien aufzulisten:
File dir = new File("."); File[] files = dir.listFiles(fileFilter);
Umgang mit relativen Pfaden
Um relative Pfade in Verzeichnissen zu berücksichtigen:
Durchlaufen Unterverzeichnisse:
FileFilter dirFilter = new WildcardFileFilter("Test*"); File[] subdirs = new File(".").listFiles(dirFilter); for (File subdir : subdirs) { if (subdir.isDirectory()) { File[] files = subdir.listFiles(fileFilter); } }
Rekursion verwenden:
File current = ...; // start at any directory File[] files = new ArrayList<>(); processFiles(files, current, fileFilter); private void processFiles(List<File> files, File dir, FileFilter filter) { File[] subdirs = dir.listFiles(dirFilter); for (File subdir : subdirs) { if (subdir.isDirectory()) { processFiles(files, subdir, filter); } else if (filter.accept(subdir)) { files.add(subdir); } } }
Alternative Ansätze
Das obige ist der detaillierte Inhalt vonWie kann ich in Java effizient Dateien finden, die Platzhaltermustern entsprechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!