Introduction
Dans ce projet, vous allez apprendre à rechercher des fichiers texte dans un répertoire à l'aide de Java. Ce projet vous guidera tout au long du processus d'obtention du chemin d'entrée de l'utilisateur, de la validation de l'entrée, de la recherche de tous les fichiers texte dans le répertoire et de l'impression de leurs noms.
👀 Aperçu
Veuillez entrer le chemin de lecture :/home/labex/project/files
Fichiers texte trouvés :
file1.txt
file3.txt
file6.txt
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment utiliser la classe
Scannerpour obtenir l'entrée de l'utilisateur pour le chemin du répertoire - Comment valider le chemin d'entrée à l'aide de la classe
File - Comment créer un
FilenameFilterpersonnalisé pour filtrer les fichiers texte - Comment utiliser la méthode
listFiles()pour trouver tous les fichiers texte dans le répertoire - Comment itérer sur les fichiers texte trouvés et imprimer leurs noms
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Obtenir l'entrée de l'utilisateur pour un chemin de répertoire à l'aide de la classe
Scanner - Valider le chemin d'entrée à l'aide de la classe
File - Implémenter un
FilenameFilterpersonnalisé pour filtrer les fichiers texte - Utiliser la méthode
listFiles()pour récupérer tous les fichiers texte dans un répertoire - Itérer sur les fichiers texte trouvés et imprimer leurs noms
Obtenir le chemin d'entrée
Dans cette étape, vous allez apprendre à utiliser la classe Scanner pour obtenir le chemin spécifié par l'utilisateur.
- Ouvrez le fichier
SelectTxtFile.javadans votre éditeur de code. - Dans la méthode
main, créez un nouvel objetScannerpour lire l'entrée de l'utilisateur :
Scanner scanner = new Scanner(System.in);
- Affichez un message d'invite à l'utilisateur demandant le chemin de lecture :
System.out.print("Veuillez entrer le chemin de lecture :");
- Utilisez la méthode
nextLine()pour lire l'entrée de l'utilisateur et la stocker dans la variablepath:
String path = scanner.nextLine();
- Après avoir lu l'entrée, fermez le
Scannerpour libérer les ressources :
scanner.close();
Valider le chemin d'entrée
Dans cette étape, vous allez apprendre à utiliser la classe File pour vérifier si le chemin d'entrée est un répertoire valide.
- Créez un nouvel objet
Fileavec lepathfourni par l'utilisateur :
File directory = new File(path);
- Utilisez la méthode
exists()pour vérifier si le répertoire existe :
if (!directory.exists() ||!directory.isDirectory()) {
- Si le répertoire n'existe pas ou n'est pas un répertoire, affichez un message d'erreur et quittez le programme :
System.out.println("Le répertoire n'existe pas, ou ce n'est pas un répertoire");
return;
}
Rechercher des fichiers texte dans le répertoire
Dans cette étape, vous allez apprendre à utiliser un FilenameFilter pour trouver tous les fichiers texte dans le répertoire.
- Créez une nouvelle classe
TxtFileFilterqui implémente l'interfaceFilenameFilter:
static class TxtFileFilter implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
}
- Utilisez la méthode
listFiles()de la classeFilepour obtenir un tableau de fichiers dans le répertoire, en les filtrant avec leTxtFileFilter:
File[] files = directory.listFiles(new TxtFileFilter());
Afficher les fichiers texte trouvés
Dans cette dernière étape, vous allez apprendre à itérer sur les fichiers texte trouvés et à imprimer leurs noms.
- Affichez un en-tête pour indiquer que des fichiers texte ont été trouvés :
System.out.println("Fichiers texte trouvés :");
- Utilisez une boucle
for-eachpour itérer sur le tableaufileset imprimer le nom de chaque fichier :
for (File file : files) {
System.out.println(file.getName());
}
C'est tout! Vous avez maintenant terminé le projet de recherche de fichiers texte dans un répertoire. Vous pouvez tester votre programme en exécutant la classe SelectTxtFile.
Vérification du programme Java pour la recherche de fichiers
Dans cette étape, nous allons vérifier le programme Java de recherche de fichiers.
- Ouvrez votre terminal et compilez le fichier Java à l'aide de la commande
javac:
javac SelectTxtFile.java
- Après avoir compilé avec succès le fichier Java, exécutez le programme compilé à l'aide de la commande
java:
java SelectTxtFile
- Lorsque vous exécutez le programme Java, vous serez invité à entrer le chemin de lecture. Fournissez le chemin du répertoire où se trouvent les fichiers texte et appuyez sur Entrée.
- Si le répertoire n'existe pas ou n'est pas un répertoire, vous recevrez un message indiquant le problème.
- Si le répertoire est valide et contient des fichiers texte, le programme affichera les noms des fichiers texte trouvés dans ce répertoire.
Voici un exemple de sortie attendue :
Veuillez entrer le chemin de lecture:/home/labex/project/files
Fichiers texte trouvés :
file1.txt
file3.txt
file6.txt
En suivant ces étapes, vous pouvez vérifier la fonctionnalité du programme Java pour sélectionner des fichiers texte.
Résumé
Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer davantage de laboratoires sur LabEx pour améliorer vos compétences.



