Introducción
En este proyecto, aprenderás a buscar archivos de texto en un directorio utilizando Java. Este proyecto te guiará a través del proceso de obtener la ruta de entrada del usuario, validar la entrada, encontrar todos los archivos de texto en el directorio y mostrar sus nombres.
👀 Vista previa
Por favor, ingrese la ruta de lectura:/home/labex/project/files
Archivos de texto encontrados:
file1.txt
file3.txt
file6.txt
🎯 Tareas
En este proyecto, aprenderás:
- Cómo utilizar la clase
Scannerpara obtener la entrada del usuario para la ruta del directorio - Cómo validar la ruta de entrada utilizando la clase
File - Cómo crear un
FilenameFilterpersonalizado para filtrar archivos de texto - Cómo utilizar el método
listFiles()para encontrar todos los archivos de texto en el directorio - Cómo iterar a través de los archivos de texto encontrados y mostrar sus nombres
🏆 Logros
Después de completar este proyecto, podrás:
- Obtener la entrada del usuario para una ruta de directorio utilizando la clase
Scanner - Validar la ruta de entrada utilizando la clase
File - Implementar un
FilenameFilterpersonalizado para filtrar archivos de texto - Utilizar el método
listFiles()para recuperar todos los archivos de texto en un directorio - Iterar a través de los archivos de texto encontrados y mostrar sus nombres
Obtener la ruta de entrada
En este paso, aprenderás a utilizar la clase Scanner para obtener la ruta especificada por el usuario.
- Abra el archivo
SelectTxtFile.javaen su editor de código. - En el método
main, cree un nuevo objetoScannerpara leer la entrada del usuario:
Scanner scanner = new Scanner(System.in);
- Muestre un mensaje de solicitud al usuario para que ingrese la ruta de lectura:
System.out.print("Please enter the read path:");
- Utilice el método
nextLine()para leer la entrada del usuario y almacenarla en la variablepath:
String path = scanner.nextLine();
- Después de leer la entrada, cierre el
Scannerpara liberar los recursos:
scanner.close();
Validar la ruta de entrada
En este paso, aprenderás a utilizar la clase File para comprobar si la ruta de entrada es un directorio válido.
- Crea un nuevo objeto
Filecon lapathproporcionada por el usuario:
File directory = new File(path);
- Utiliza el método
exists()para comprobar si el directorio existe:
if (!directory.exists() ||!directory.isDirectory()) {
- Si el directorio no existe o no es un directorio, muestra un mensaje de error y sale del programa:
System.out.println("The directory does not exist, or it is not a directory");
return;
}
Encontrar archivos de texto en el directorio
En este paso, aprenderás a utilizar un FilenameFilter para encontrar todos los archivos de texto en el directorio.
- Crea una nueva clase
TxtFileFilterque implemente la interfazFilenameFilter:
static class TxtFileFilter implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
}
- Utiliza el método
listFiles()de la claseFilepara obtener una matriz de archivos en el directorio, filtrándolos con elTxtFileFilter:
File[] files = directory.listFiles(new TxtFileFilter());
Imprimir los archivos de texto encontrados
En este último paso, aprenderás a iterar a través de los archivos de texto encontrados y a imprimir sus nombres.
- Imprime un encabezado para indicar que se han encontrado archivos de texto:
System.out.println("Found text files:");
- Utiliza un bucle
for-eachpara iterar a través de la matrizfilese imprimir el nombre de cada archivo:
for (File file : files) {
System.out.println(file.getName());
}
¡Eso es todo! Has completado ahora el proyecto de búsqueda de archivos de texto en un directorio. Puedes probar tu programa ejecutando la clase SelectTxtFile.
Verificando el programa Java para la búsqueda de archivos
En este paso, verificaremos el programa Java de búsqueda de archivos.
- Abra su terminal y compile el archivo Java utilizando el comando
javac:
javac SelectTxtFile.java
- Después de compilar con éxito el archivo Java, ejecute el programa compilado utilizando el comando
java:
java SelectTxtFile
- Al ejecutar el programa Java, se le pedirá que ingrese la ruta de lectura. Proporcione la ruta del directorio donde se encuentran los archivos de texto y presione Enter.
- Si el directorio no existe o no es un directorio, recibirá un mensaje que indica el problema.
- Si el directorio es válido y contiene archivos de texto, el programa mostrará los nombres de los archivos de texto encontrados en ese directorio.
A continuación, se muestra un ejemplo de salida esperada:
Please enter the read path:/home/labex/project/files
Found text files:
file1.txt
file3.txt
file6.txt
Siguiendo estos pasos, puede verificar la funcionalidad del programa Java para la selección de archivos de texto.
Resumen
¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



