Recherche de fichiers avec des modèles de caractères génériques en Java
Identifier les fichiers correspondant à un modèle de caractères génériques spécifique peut être intimidant en Java. Pour relever ce défi, envisagez les approches suivantes :
Utilisation de org.apache.commons.io.filefilter.WildcardFileFilter
Créer une instance FileFilter en utilisant WildcardFileFilter :
FileFilter fileFilter = new WildcardFileFilter("sample*.txt");
Appliquer le filtre à un répertoire pour lister les fichiers correspondants :
File dir = new File("."); File[] files = dir.listFiles(fileFilter);
Gestion des chemins relatifs
Pour tenir compte des chemins relatifs dans répertoires :
Parcourir les sous-répertoires :
FileFilter dirFilter = new WildcardFileFilter("Test*"); File[] subdirs = new File(".").listFiles(dirFilter); for (File subdir : subdirs) { if (subdir.isDirectory()) { File[] files = subdir.listFiles(fileFilter); } }
Utiliser la récursion :
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 Approches
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!