Estoy haciendo un navegador de archivos básico y quiero saber cómo obtener la cantidad de archivos en un directorio determinado (necesario para los bucles for
que agregan los archivos al árbol y tabla)Obteniendo el número de archivos en una carpeta en java
Respuesta
De javadocs:
Se puede utilizar:
new File("/path/to/folder").listFiles().length
new File(<directory path>).listFiles().length
como para Java 7:
/**
* Returns amount of files in the folder
*
* @param dir is path to target directory
*
* @throws NotDirectoryException if target {@code dir} is not Directory
* @throws IOException if has some problems on opening DirectoryStream
*/
public static int getFilesCount(Path dir) throws IOException, NotDirectoryException {
int c = 0;
if(Files.isDirectory(dir)) {
try(DirectoryStream<Path> files = Files.newDirectoryStream(dir)) {
for(Path file : files) {
if(Files.isRegularFile(file) || Files.isSymbolicLink(file)) {
// symbolic link also looks like file
c++;
}
}
}
}
else
throw new NotDirectoryException(dir + " is not directory");
return c;
}
¿cómo es esto mejor de las otras respuestas? – Supuhstar
Esto mal usa 'NoSuchFieldException'. Se supone que eso significa que una clase u objeto no tiene un campo particular (variable/constante) dentro de él. – Supuhstar
Para las diferentes versiones de jdk, existen diferentes maneras de obtener la cantidad de archivos en una carpeta. – cane
- 1. encontrar archivos en una carpeta usando Java
- 2. Obtener archivos en una carpeta
- 3. Obteniendo el número de celdas llenas en una columna (VBA)
- 4. Contar el número de archivos en una carpeta a través de javascript
- 5. Obteniendo typeof en Java
- 6. Filtrar archivos en una carpeta muy grande
- 7. Contar el número de archivos en un directorio utilizando Java
- 8. ¿Cómo escanear una carpeta en Java?
- 9. Obteniendo un número aleatorio entre 0 y 0.06 en Java?
- 10. Obteniendo una imagen de Mathematica en Java
- 11. Obteniendo una jerarquía de llamadas en java
- 12. Obteniendo el número del repositorio de subversión en el código
- 13. Obteniendo la ubicación de la carpeta System32 con java
- 14. Recuento de archivos de una carpeta
- 15. Cambiar el nombre de algunos archivos en una carpeta
- 16. Buscar todos los archivos en una carpeta
- 17. Obteniendo el número de parámetros de bloque
- 18. Obteniendo el lenguaje OS en java
- 19. Devuelve el número total de archivos dentro de una carpeta usando PHP
- 20. obteniendo el número de unidad gratis en fortran
- 21. Impedir el acceso a archivos en una carpeta determinada
- 22. Facebook Créditos: Obteniendo el número de créditos
- 23. Java: encuentre archivos .txt en la carpeta especificada
- 24. Obteniendo el número de revisión SVN en un programa automáticamente
- 25. ¿Cómo crear una carpeta vacía en java?
- 26. obteniendo muy rápidamente el tamaño total de la carpeta
- 27. ¿Cómo crear una carpeta en Java?
- 28. Java copiar una carpeta excluyendo algunos archivos interno
- 29. Contando el número de archivos en una unidad
- 30. lista de archivos Ponerse en una carpeta en C
Tenga en cuenta que 'listFiles()' excluye ciertas entradas. El javadoc dice * "las rutas que denotan el directorio y el directorio principal del directorio no se incluyen en el resultado." * –
Afortunadamente, eso coincide con las expectativas de la mayoría de las personas (aunque difiere de, digamos, 'ls') – Thilo
En caso de que no sea obvio ... listFiles() está asignando una matriz y llenándola con una instancia de archivo para cada archivo en el directorio. Es posible que desee tener cuidado con este método si el directorio puede tener una gran cantidad de archivos. –