¿Cómo puedo leer todos los archivos en una carpeta desde Java?

Resuelto M.J. asked hace 14 años • 35 respuestas

¿Cómo puedo leer todos los archivos de una carpeta a través de Java? No importa qué API.

M.J. avatar Dec 04 '09 10:12 M.J.
Aceptado

Usar:

public void listFilesForFolder(final File folder) {
    for (final File fileEntry : folder.listFiles()) {
        if (fileEntry.isDirectory()) {
            listFilesForFolder(fileEntry);
        } else {
            System.out.println(fileEntry.getName());
        }
    }
}

final File folder = new File("/home/you/Desktop");
listFilesForFolder(folder);

La API Files.walk está disponible desde Java 8.

try (Stream<Path> paths = Files.walk(Paths.get("/home/you/Desktop"))) {
    paths
        .filter(Files::isRegularFile)
        .forEach(System.out::println);
} 

El ejemplo utiliza el patrón de prueba con recursos recomendado en la guía API. Garantiza que, independientemente de las circunstancias, la transmisión se cerrará.

rich avatar Dec 04 '2009 11:12 rich
File folder = new File("/Users/you/folder/");
File[] listOfFiles = folder.listFiles();

for (File file : listOfFiles) {
    if (file.isFile()) {
        System.out.println(file.getName());
    }
}
David Robles avatar Dec 04 '2009 03:12 David Robles