Los archivos en un directorio y sus subdirectorios se enumeran utilizando un método recursivo.
El método enumera los archivos en el directorio actual, luego se llama recursivamente para todos los subdirectorios.
import java.io.File; public class FolderListAllFilesDirectory { public static void listAllFiles(File file){ // List all the files using the filter File[] tab = file.listFiles(); for( File current : tab ){ if( current.isFile() ) System.out.println( current.getAbsolutePath() + " is a file " ); else if( current.isDirectory() ){ listAllFiles( current ); } } } public static void main(String[] argv) { File file = new File("V:/tmp/aaa"); listAllFiles( file ); } }
V:\tmp\aaa\New Text Document.txt is a file V:\tmp\aaa\oliviertech.com\index.html is a file V:\tmp\aaa\oliviertech.com\test\test.txt is a file V:\tmp\aaa\oliviertech.com\test.html is a file
El método muestra los archivos y procesa cada subdirectorio a medida que el sistema de archivos los devuelve. El método se puede modificar para que se procese primero, los archivos se devuelven primero. O el método puede procesar por profundidad primero: los directorios y subdirectorios se procesan primero.