Pergunta

Como determinar quais arquivos existem num diretório?

Resposta

Para obter uma lista de arquivos existentes num diretório utilizamos o método list() da classe java.io.File como abaixo:

// Criamos uma instância de File associada
// ao diretório desejado.
File diretorio = new File("diretório_desejado");
// Obtemos uma lista (um array) dos arquivos
// existentes neste diretório.
String arquivos[] = diretorio.list();
// Um laço para processar tais arquivos
// no caso a impressão de seus nomes
// no console.
for(int i=0; i<arquivos.lenght; i++) {
  System.out.println(arquivos[i]);
}

Deve-se ter cuidado com o caratere utilizado como separador de diretórios '\' utilizado na plataforma Win32, pois corresponde ao indicador de caractere especial no Java. Seu uso deve ser:

File raizC = new File("c:\\");

Podendo ser substituído pelo caratere '/' sem maiores problemas:

File raizC = new File("c:/");

Para obter a listagem do diretório atual usamos ".":

File dirAtual = new File(".");

Mais detalhes sobre a classe java.io.File e seus métodos são fornecidos no JavaFaq 0134.