como recorrer directorios

jorge
29 de Diciembre del 2004
hola! alguien sabe como leer los directorios que se encuentras dentro de un directorio?Alguna idea....Mi intencion es leer los ficheros mp3 que se encuentras dentro de un directorio pero tambien en los subdirectorios lo que pasa es que no se como hacer para que el bucle entre tambiene en subdirectorios...


try
{
File directorio=new File(path);
//in directorio we have the complete path Eg. C:JavaArchivosDir
File pathCompleto=new File(directorio.getCanonicalPath());
//we ask if the parameter received is a directory
if(directorio.isDirectory())
{
//here we have the list with all files and directories inside "directorio"
String[] archivos=pathCompleto.list(new Filter(".mp3"));

for(int i=0;i<archivos.length;i++)
{//this loop cross all the files


int j=i+1;//j is the number of the song (from 1 to number of songs)

getInfo(pathCompleto+"/"+archivos[i]);

}//for end


}


else
{
System.out.println("the path received is not a directory.");
}

Gracias!

duhu
29 de Diciembre del 2004
Vamos a ver, cuando lees los archivos de un directorio, también encuentras los subdirectorios. Para distinguir si es un archivo normal o un subdirectorio utiliza el método isDirectory de File.

Para recorrer un árbol de directorios lo normal es utilizar algún método recursivo, o sea, que cuando encuentres un directorio, vuelvas a llamar al mismo método, pero cambándole el directorio, que será el subidirectorio que has encontrado.