Tengo esta función que imprime el nombre de todos los archivos en un directorio de forma recursiva. El problema es que mi código es muy lento porque tiene que acceder a un dispositivo de red remoto con cada iteración.
Mi plan es cargar primero todos los archivos del directorio de forma recursiva y luego revisar todos los archivos con la expresión regular para filtrar todos los archivos que no quiero. ¿Alguien tiene una sugerencia mejor?
public static printFnames(String sDir){
File[] faFiles = new File(sDir).listFiles();
for(File file: faFiles){
if(file.getName().matches("^(.*?)")){
System.out.println(file.getAbsolutePath());
}
if(file.isDirectory()){
printFnames(file.getAbsolutePath());
}
}
}
Esto es solo una prueba más adelante. No voy a usar el código como este, sino que voy a agregar la ruta y la fecha de modificación de cada archivo que coincida con una expresión regular avanzada en una matriz.