Introdução
Neste projeto, você aprenderá como pesquisar arquivos de texto em um diretório usando Java. Este projeto irá guiá-lo através do processo de obter o caminho de entrada do usuário, validar a entrada, encontrar todos os arquivos de texto no diretório e imprimir seus nomes.
👀 Pré-visualização
Please enter the read path:/home/labex/project/files
Found text files:
file1.txt
file3.txt
file6.txt
🎯 Tarefas
Neste projeto, você aprenderá:
- Como usar a classe
Scannerpara obter a entrada do usuário para o caminho do diretório - Como validar o caminho de entrada usando a classe
File - Como criar um
FilenameFilter(filtro de nome de arquivo) personalizado para filtrar arquivos de texto - Como usar o método
listFiles()para encontrar todos os arquivos de texto no diretório - Como iterar pelos arquivos de texto encontrados e imprimir seus nomes
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Obter a entrada do usuário para um caminho de diretório usando a classe
Scanner - Validar o caminho de entrada usando a classe
File - Implementar um
FilenameFilter(filtro de nome de arquivo) personalizado para filtrar arquivos de texto - Utilizar o método
listFiles()para recuperar todos os arquivos de texto em um diretório - Iterar pelos arquivos de texto encontrados e imprimir seus nomes
Obter o Caminho de Entrada
Nesta etapa, você aprenderá como usar a classe Scanner para obter o caminho especificado do usuário.
- Abra o arquivo
SelectTxtFile.javano seu editor de código. - No método
main, crie um novo objetoScannerpara ler a entrada do usuário:
Scanner scanner = new Scanner(System.in);
- Exiba uma mensagem de prompt para o usuário solicitando o caminho de leitura:
System.out.print("Please enter the read path:");
- Use o método
nextLine()para ler a entrada do usuário e armazená-la na variávelpath:
String path = scanner.nextLine();
- Após ler a entrada, feche o
Scannerpara liberar os recursos:
scanner.close();
Validar o Caminho de Entrada
Nesta etapa, você aprenderá como usar a classe File para verificar se o caminho de entrada é um diretório válido.
- Crie um novo objeto
Filecom opathfornecido pelo usuário:
File directory = new File(path);
- Use o método
exists()para verificar se o diretório existe:
if (!directory.exists() || !directory.isDirectory()) {
- Se o diretório não existir ou não for um diretório, imprima uma mensagem de erro e saia do programa:
System.out.println("The directory does not exist, or it is not a directory");
return;
}
Encontrar Arquivos de Texto no Diretório
Nesta etapa, você aprenderá como usar um FilenameFilter para encontrar todos os arquivos de texto no diretório.
- Crie uma nova classe
TxtFileFilterque implementa a interfaceFilenameFilter:
static class TxtFileFilter implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
}
- Use o método
listFiles()da classeFilepara obter um array de arquivos no diretório, filtrando-os com oTxtFileFilter:
File[] files = directory.listFiles(new TxtFileFilter());
Imprimir os Arquivos de Texto Encontrados
Nesta etapa final, você aprenderá como iterar pelos arquivos de texto encontrados e imprimir seus nomes.
- Imprima um cabeçalho para indicar que os arquivos de texto foram encontrados:
System.out.println("Found text files:");
- Use um loop
for-eachpara iterar pelo arrayfilese imprimir o nome de cada arquivo:
for (File file : files) {
System.out.println(file.getName());
}
É isso! Você concluiu o projeto de busca por arquivos de texto em um diretório. Você pode testar seu programa executando a classe SelectTxtFile.
Verificando o Programa Java para Busca de Arquivos
Nesta etapa, vamos verificar o programa Java de busca de arquivos.
- Abra seu terminal e compile o arquivo Java usando o comando
javac:
javac SelectTxtFile.java
- Após compilar o arquivo Java com sucesso, execute o programa compilado usando o comando
java:
java SelectTxtFile
- Ao executar o programa Java, você será solicitado a inserir o caminho de leitura. Forneça o caminho do diretório onde os arquivos de texto estão localizados e pressione Enter.
- Se o diretório não existir ou não for um diretório, você receberá uma mensagem indicando o problema.
- Se o diretório for válido e contiver arquivos de texto, o programa exibirá os nomes dos arquivos de texto encontrados nesse diretório.
Aqui está um exemplo da saída esperada:
Please enter the read path:/home/labex/project/files
Found text files:
file1.txt
file3.txt
file6.txt
Seguindo estas etapas, você pode verificar a funcionalidade do programa Java para selecionar arquivos de texto.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



