Java FileNameFilter

Java FileNameFilter
La fonction ListFiles () dans Java peut être utilisée pour rechercher les noms de fichiers à l'aide de l'interface FileNameFilter. Les instances de fichier dans un emplacement sont renvoyées si le listfiles () est invoqué sans aucun argument. Nous pouvons choisir de récupérer une partie de ces cas si nous fournissons un filtre comme argument. Nous devons définir la fonction accept () pour créer une instance qui hérite du fichier de fichiers. Le chemin d'accueil du fichier est représenté par l'entité DIR et son titre par le nom de fichier. Le fichier est présenté dans la collection d'instances de fichiers de l'appel à ListFiles () si accepter () donne True. Sinon, l'appel à ListFiles ne livrera pas le fichier ().

Installer Java

Avant de commencer par notre exemple Java, nous ouvrons l'application Shell à partir de la zone d'application de la machine Linux. En effet. Pour son installation, il est nécessaire d'utiliser le package «APT» avec le privilège «sudo» dans l'instruction «Installer». Pour l'installation de Java Runtime Environment, utilisez le nom du package «par défaut-jre» comme présenté:

Exemple

Nous utilisons notre premier exemple Java pour montrer comment une interface FileNameFilter peut être utilisée pour répertorier tous les fichiers spécifiques du répertoire spécifié de notre système Linux. Pour cela, nous devons avoir des fichiers de type spécifiques dans le répertoire de travail. Tout d'abord, nous créons un fichier Java nommé «Filtre.java ”qui est utilisé pour le codage. Après cela, nous créons deux fichiers texte, bonjour.txt et nouveau.txt, respectivement. Les trois fichiers sont créés avec la requête «Touch». Maintenant, l'utilisation de l'instruction «LS» présente les trois fichiers dans le dossier à domicile.

En commençant par le premier exemple de code Java, nous le rendons aussi simple que possible. Il commence par l'importation des principaux packages de Java pour utiliser le traitement du fichier. Nous importons le fichier et la classe ioexection du java.Package IO ainsi que l'importation de son interface FileNameFilter qui sont utilisées pour obtenir une liste de fichiers spécifiques. Tout d'abord, l'importation de tous les packages requis, nous créons une classe de démo «test» et y ajoutons l'implémentation de la fonction principale (). Au fur et à mesure que le programme démarre son exécution, l'objet de fichier «FOBJ» est généré à l'aide de la classe Fichier () d'un Java, en prenant le chemin du répertoire domestique comme argument vers la fonction du constructeur.

L'interface filenameFilter () est utilisée ici en créant son objet «tf» qui est utilisé pour filtrer les noms de fichiers. La fonction intégrée publique de type booléen «accepter» est là pour rechercher et faire correspondre les noms de fichiers spécifiques. Il utilise le répertoire et le nom d'un fichier à rechercher dans ses paramètres à partir de la classe de fichiers. Tandis que les noms de tous les modèles correspondants sont convertis en minuscules à l'aide de la fonction TolowerCase () et sont enregistrés en variable de chaîne «n». L'instruction «IF» est Casteff pour effectuer la chose principale - vérifier le suffixe de fichiers. Il utilise la valeur «n» variable pour correspondre à sa fin avec le modèle spécifique via la fonction «Endswith» de Java.

Si les caractères finaux d'une valeur «n» variable correspondent au modèle de nom de fichier spécifié, il renvoie «true». Sinon, il renvoie faux. Nous spécifions le «.txt »pour vérifier tous les fichiers texte. En attendant, nous créons un objet de tableau «LF» à l'aide de la classe Fichier (). Et nous stockons tous les fichiers correspondants à l'aide de la fonction List Files () d'un java qui est appelé par l'objet de fichier «FOBJ» en passant l'objet de filtre de texte «TF». La boucle «pour» est initialisée jusqu'à la fin d'un tableau «LF» pour chaque fichier «F». L'instruction «IF» vérifie si le fichier «f» est un répertoire ou un fichier simple via la fonction isdirectory (). Il affiche le chemin résultant en fonction de cela.

Pour cela, il utilise la fonction println () d'un «système.Classe out ”d'abord dans l'instruction« IF »pour afficher le« répertoire »ou« fichier ». Après cela, nous utilisons le système.dehors.Println () Instruction à nouveau pour obtenir le chemin de nom vers le fichier en utilisant la fonction getCanonicalPath (). Nous enregistrons ce fichier Java avant le processus d'exécution.

Après avoir exécuté le fichier Java pour le «.TXT »Modèles de fichiers, nous obtenons un total de 2 chemins répertoriés pour les fichiers des types de texte dans le répertoire de travail à domicile.

Vous pouvez également utiliser la même méthode pour correspondre et afficher les modèles de nom de fichier correspondants dans un dossier autre que le répertoire de travail actuel. Disons que nous avons les deux mêmes fichiers texte dans le dossier Documents de notre système selon la requête «LS».

Maintenant, vous devez mettre à jour le chemin d'accès au répertoire où nous correspondons ou recherchons le modèle de nom de fichier. Donc, nous fournissons le chemin du dossier des documents et l'enregistrons.

Lors de l'exécution, il affiche à nouveau le chemin d'accès à 2 fichiers texte - Bonjour.txt et nouveau.SMS.

D'une manière très similaire, vous pouvez également rechercher d'autres types de fichiers. Disons que nous voulons rechercher tous les «.Java "Fichiers dans le répertoire domestique de notre système Linux. Remplacer ".txt "avec".Java".

L'exécution montre le chemin d'accès au fichier Java «Filtre.java »sur lequel nous travaillons.

Parfois, le modèle que nous recherchons correspond au nom du répertoire. Par exemple, nous ajoutons le modèle «S» à rechercher dans le dossier de la maison.

En retour, l'exécution montre les chemins vers les dossiers d'un répertoire domestique qui contient des «S» à leur fin.

Conclusion

Nous avons expliqué l'utilisation de l'interface filenameFilter () de Java pour filtrer tous les chemins de fichier qui correspondent au modèle spécifique de notre article. Pour cela, nous nous sommes assurés que l'environnement Java est entièrement configuré dans notre système d'exploitation Linux. Nous avons également expliqué l'exemple Java à l'aide de l'interface FileNameFilter pour créer un objet filtrant pour filtrer les chemins de fichier spécifiques contenant un motif. En utilisant cet exemple, nous avons filtré les fichiers texte, les fichiers Java et les répertoires spécifiques du répertoire de travail à domicile et des autres dossiers également.