que tienen 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.Lista de todos los archivos de un directorio de forma recursiva con Java
Mi plan es la primera carga todos los archivos del directorio recursivamente y luego, después de que ir a través de todos los archivos con la expresión regular para filtrar todos los archivos que no quiero. ¿Alguien tiene una mejor sugerencia?
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 sólo una prueba más adelante no voy a utilizar el código de esta forma, en vez voy a añadir la ruta y la fecha de modificación de cada archivo que coincide con una expresión regular avanzada para una matriz.
... ¿cuál es la pregunta? ¿Estás buscando la validación de que este código funcionará? –
No, sé que este código funciona, pero es muy lento y se siente como si fuera un estúpido acceso al sistema de archivos y obtener los contenidos para cada subdirectorio en lugar de obtener todo a la vez. – Hultner
posible duplicado de [Lista recursiva de archivos en Java] (http://stackoverflow.com/questions/2056221/recursively-list-files-in-java) – Luv