Recherche de fichiers avec des chaînes génériques en Java
La recherche de fichiers correspondant à un modèle de caractère générique spécifique est une tâche courante en Java. Pour répondre à ce besoin, Apache commons-io fournit à la classe FileUtils des méthodes telles que listFiles et iterateFiles.
Supposons que vous ayez un modèle générique comme celui-ci :
../Test?/sample*.txt
Pour répertorier les fichiers correspondants à l'aide de FileUtils :
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.java"); File[] files = dir.listFiles(fileFilter); for (File file : files) { System.out.println(file); }
Ce code parcourt les fichiers du répertoire actuel qui correspondent au caractère générique spécifié. Cependant, pour gérer les répertoires imbriqués (par exemple les dossiers TestX), vous pouvez d'abord parcourir les répertoires :
File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java")); for (File dir : dirs) { if (dir.isDirectory()) { File[] files = dir.listFiles(new WildcardFileFilter("sample*.java")); } }
Bien que cette solution soit efficace, elle peut ne pas être aussi efficace que souhaité. Pensez à utiliser un RegexFileFilter pour des critères de correspondance plus flexibles et plus complexes.
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!