Obtener los nombres de archivo de todos los archivos de una carpeta [duplicar]
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 un ArrayList
con [000,012,013]
como valores.
¿Cuál es la mejor manera de hacerlo en Java ?
PD: Estoy en Mac OS X
3 answers
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?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-24 07:27:23
Crear un File
objeto, pasando la ruta del directorio al constructor. Use el 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<String> results = new ArrayList<String>();
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());
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-14 17:59:36
He aquí cómo buscar en la documentación .
Primero, estás tratando con IO, así que mira en el java.io
paquete .
Hay dos clases que parecen interesantes: FileFilter y FileNameFilter. Cuando hice clic en el primero, me mostró que había un método a listFiles()
en la clase File. Y la documentación para ese método dice:
Devuelve una matriz de nombres de ruta abstractos denotando los archivos en el directorio denotado por este nombre de ruta abstracto.
Desplazándome hacia arriba en el File
JavaDoc, veo los constructores. Y eso es realmente todo lo que necesito para poder crear una instancia File
y llamar a listFiles()
en ella. Desplazándome aún más, puedo ver algo de información sobre cómo se nombran los archivos en diferentes sistemas operativos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-07 00:34:09