FilenameFilter egy interfész JavaSW hogy szűrésére használt fájlnevek, mint például azok vissza egy hívást egy fájl objektum listFiles() módszer. Ha a listFiles () paraméter nélkül van meghívva, akkor a könyvtár összes Fájlobjektumát adja vissza. Ha paraméterként átadunk egy szűrőt, szelektíven visszaadhatjuk az objektumok egy részhalmazát.
a Filenamefiltert megvalósító objektum létrehozásához az accept(File dir, String name) metódust kell végrehajtanunk. A dir objektum a fájl szülőkönyvtára, a name pedig a fájl neve. Ha az accept () értéke true, akkor a fájl a listfiles () hívásból származó Fájlobjektumok tömbjében kerül vissza. Ha az accept () értéke false, akkor a listFiles () hívása nem adja vissza a fájlt.
a directorycontents textFilter objektuma csak akkor ad vissza true értéket, ha egy Fájlobjektum véget ér .txt. Ennek eredményeként elutasítja az összes többi fájl-és könyvtárnevet. Figyeljük meg, hogy a hívás f.listFiles() átadja a textFilter argumentumként.
DirectoryContents.java
a DirectoryContents végrehajtása a következő konzol kimenetet eredményezi. Annak ellenére, hogy más fájlok és könyvtárak vannak jelen C:\projects\workspace\testing\, csak a .a txt fájlok megjelennek az eredményekben.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt