O método listFiles de um diretório retorna o conteúdo desse diretório. O método usa um filtro no parâmetro que seleciona os arquivos ou diretório a serem retornados. Um filtro que apenas retorna arquivos é implementado.
FileFilter fileFilter = new FileFilter() {
public boolean accept(File file) {
return file.isFile();
}
};
File[] tab = file.listFiles( fileFilter );
O código deste exemplo lista o diretório no diretório v: / tmp. Primeiro, o código chama file.isDirectory () para validar que a pasta que estamos testando é um diretório. Ele cria um FileFilter retornando true somente se o objeto for um arquivo. O método listFiles é chamado com o filtro; o arquivo retornado na saída é gravado em System.out para confirmar a filtragem.
import java.io.File;
import java.io.FileFilter;
public class FolderListFiles {
public static void main(String[] argv) {
File file = new File("V:/tmp/");
if( file.isDirectory() ){
System.out.println( file.getName() + " " );
}
FileFilter fileFilter = new FileFilter() {
public boolean accept(File file) {
return file.isFile();
}
};
//
File[] tab = file.listFiles( fileFilter );
System.out.println( "" );
for( File current : tab ){
System.out.println( current.getAbsolutePath() );
}
}
}
tmp V:\tmp\00012-capture.jpg V:\tmp\01805-capture.jpg V:\tmp\01807-capture.jpg