FilenameFilter est une interface de JavaSW utilisée pour filtrer les noms de fichiers, tels que ceux renvoyés par un appel à la méthode listFiles() d’un objet Fichier. Si listFiles() est appelée sans paramètres, elle renvoie tous les objets Fichier d’un répertoire. Si nous passons un filtre en paramètre, nous pouvons renvoyer sélectivement un sous-ensemble de ces objets.
La création d’un objet qui implémente FilenameFilter nous oblige à implémenter la méthode accept (Répertoire de fichier, nom de chaîne). L’objet dir est le répertoire parent du fichier et name est le nom du fichier. Si accept() renvoie true, le fichier sera renvoyé dans le tableau d’objets File de l’appel à listFiles(). Si accept() renvoie false, le fichier n’est pas renvoyé par l’appel à listFiles().
L’objet textFilter dans DirectoryContents ne renvoie true que si un objet File se termine par.txt. En conséquence, il rejette tous les autres noms de fichiers et de répertoires. Notez que l’appel à f.listFiles() passe le filtre de texte en argument.
Témoignages du directeur.java
L’exécution de DirectoryContents entraîne la sortie de console suivante. Même si d’autres fichiers et répertoires sont présents dans C:\projects\workspace\testing \, seulement le.les fichiers txt apparaissent dans les résultats.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt