Listar un directorio con Java

26/Dic/2008 Java , 3 Comentarios

Mediante la clase File podremos listar de forma sencilla el contenido de un directorio. Lo primero que tendremos que hacer es crear un objeto de tipo File con el nombre del directorio a a listar.

  1.  
  2. String sDirectorio = "c:\\datos";
  3. File f = new File(sDirectorio);
  4.  

Utilizaremos el método .exists() para comprobar que el directorio existe.

  1.  
  2. if (f.exists()){ // Directorio existe }
  3. else { //Directorio no existe }
  4.  

Una vez pasada esta validación utilizamos el método .listFiles. Este método devuelve todos los ficheros asociados al directorio en un array de Files. Es por ello que solo nos quedará recorrer el array e ir mostrando el nombre de lo ficheros y directorios que componen nuestro directorio.

  1.  
  2. File[] ficheros = f.listFiles();
  3. for (int x=0;x<ficheros.length;x++){
  4. System.out.println(ficheros[x].getName());
  5. }

Para obtenerel nombre del fichero o directorio utilizamos el método .getName().

Vídeos sobre Java


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

3 comentarios en “Listar un directorio con Java”

Víctor Cuervo

Santiago Cabrera

muy bueno el contenido de este post. Perfectamente funcional

Víctor Cuervo

Pablo

Hola, ejecuté el código tal y como está en el ejemplo, solo que con el destino de una carpeta en mi disco obviamente, la cuestión es que lee sólamente 28 archivos, y donde tendría que estar el nombre del archivo Nº 29 aparece este error:

java.lang.ArrayIndexOutOfBoundsException: 28

Revisé e incrementé el tamaño del array, pero no surgió efecto. Podrían ayudarme?

Gracias.

Víctor Cuervo

Mary

hola que tal estoy comenzando ficheros y me cuesta un poco hacerlos ojala me pueda ayudar alguien con este ejercicio

Listar de un directorio recursivamente

Desarrolla un programa en Java que visualice los archivos contenidos en un directorio y que muestre también, recursivamente, todos los subdirectorios interiores.

El programa funcionará de la siguiente forma:
• Obtendrá por la línea de comandos, Opcionalmente, el directorio inicial donde debe ejecutarse
• Obtendrá por la línea de mandos, opcionalmente, el filtro de los ficheros que se hayan de mostrar
• Si no se obtienen los parámetros de la línea de comandos, el programa mostrará todos los archivos del disco, empezando por la carpeta donde está ejecutándose el programa
Resultaría interesante, además, que la forma de mostrar los archivos y directorios fuera de forma escalonada, dando así la sensación de estar dibujando un árbol

Ejemplos de la línea de órdenes podrían ser:
• java DirectoriRecursiu cepa / home / alumno / fp-filtro. java
• java DirectoriRecursiu-filtro. java-rel / home / alumno / fp
• java DirectoriRecursiu-filtro. java
• java DirectoriRecursiu cepa / home / alumno / java
• java DirectoriRecursiu

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*