"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo encontrar archivos de manera eficiente usando patrones comodines en Java?

¿Cómo encontrar archivos de manera eficiente usando patrones comodines en Java?

Publicado el 2025-01-29
Navegar:426

How to Efficiently Find Files Using Wildcard Patterns in Java?

encontrar archivos con cadenas comodín en java

encontrar archivos que coinciden con un patrón comodín específico es una tarea común en Java. Para abordar esta necesidad, Apache Commons-IO proporciona a la clase FileUtils con métodos como ListFiles y IterateFiles.

Suponga que tiene un patrón comodín como este:

../Test?/sample*.txt

para enumerar los archivos de coincidencia usando fileUtils:

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

for (File file : files) {
    System.out.println(file);
}

Este código itera los archivos en el directorio actual que coincide con el comodín especificado. Sin embargo, para manejar directorios anidados (por ejemplo, carpetas testX), puede iterar primero a través de los directorios:

File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java"));

for (File dir : dirs) {
    if (dir.isDirectory()) {
        File[] files = dir.listFiles(new WildcardFileFilter("sample*.java"));
    }
}

Si bien esta solución es efectiva, puede no ser tan eficiente como se desee. Considere usar un RegexFileFilter para criterios de correspondencia más flexibles y complejos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3