Obtener los nombres de archivo de todos los archivos en una carpeta

Posible duplicado:
Leer todos los archivos en una carpeta

Necesito crear una lista con todos los nombres de los archivos en una carpeta.

Por ejemplo, si tengo:

000.jpg 012.jpg 013.jpg 

Quiero almacenarlos en una ArrayList con [000,012,013] como valores.

¿Cuál es la mejor manera de hacerlo en Java?

PD: estoy en Mac OS X

Podrías hacerlo así:

 File folder = new File("your/path"); File[] listOfFiles = folder.listFiles(); for (int i = 0; i < listOfFiles.length; i++) { if (listOfFiles[i].isFile()) { System.out.println("File " + listOfFiles[i].getName()); } else if (listOfFiles[i].isDirectory()) { System.out.println("Directory " + listOfFiles[i].getName()); } } 

¿Desea obtener solo archivos JPEG o todos los archivos?

Crea un objeto File , pasando la ruta del directorio al constructor. Utilice listFiles() para recuperar una matriz de objetos File para cada archivo en el directorio, y luego llame al método getName() para obtener el nombre del archivo.

 List results = new ArrayList(); File[] files = new File("/path/to/the/directory").listFiles(); //If this pathname does not denote a directory, then listFiles() returns null. for (File file : files) { if (file.isFile()) { results.add(file.getName()); } } 

A continuación, le mostramos cómo buscar en la documentación .

En primer lugar, está tratando con IO, así que busque en el paquete java.io

Hay dos clases que parecen interesantes: FileFilter y FileNameFilter . Cuando hice clic en el primero, me mostró que había un método listFiles() en la clase File . Y la documentación para ese método dice:

Devuelve una matriz de nombres de ruta abstractos que denotan los archivos en el directorio indicado por este nombre de ruta abstracto.

Desplazándome hacia arriba en el File JavaDoc, veo los constructores. Y eso es todo lo que necesito para poder crear una instancia de File y llamar a listFiles() en ella. Al desplazarme aún más, puedo ver información sobre cómo se nombran los archivos en diferentes sistemas operativos.

    Intereting Posts