/****************************************************
** Este código é livre para qualquer finalidade **
****************************************************/
/**
* A classe FileList implementa um listador de arquivos de uma estrutura de diretórios
*
* @author Softech Network Informática S/C Ltda
* @author Daniel Destro do Carmo
* @version 1.0
* @since 06/09/2002
*/
import java.io.*;
public class FileList {
public FileList() {}
/**
* Esta função lista toda a estrutura de diretório a partir de um File. Se
* o File for um arquivo exibe apenas o nome, se for um diretório ele exibe
* a estrutura de arquivo abaixo dele, sendo ou não recursivo (subdiretórios).
*
* @param root File a ser listado, pode ser um arquivo ou diretório
* @param recursive Se for true varre inclusive os subdiretórios
**/
public void listFiles( File root, boolean recursive ) {
if( root==null ) return;
if( !root.exists() ) {
System.out.println("File does not exist!");
}
if( root.isFile() ) {
System.out.println( root.getAbsolutePath() );
return;
}
System.out.println( root.getAbsolutePath() );
File[] files = root.listFiles();
if( files!=null ) {
for(int i=0; i<files.length; i++) {
if( files[i].isFile() ) {
System.out.println( files[i].getAbsolutePath() );
}
if( recursive && files[i].isDirectory() ) {
listFiles( files[i], recursive );
}
}
}
}
public void listFiles( File root ) {
listFiles( root, false );
}
public static void main( String[] args ) {
try {
FileList fl = new FileList();
fl.listFiles( new File("C:\Temp"), true );
} catch( Exception e ) {}
}
}
A api do java.io.File possui funcoes de listagem que permitem usar filtros para retornar somente arquivos, por exemplo, com extensao (= que terminam em) “.mp3”.
Essa eh uma funcionalidade muito boa, e sera demonstrada no proximo tutorial de java.io.File que explicara TODA a api do mesmo.
Abracao
Guilherme