FilenameFilter je rozhraní v JavaSW, které se používá k filtrování názvů souborů, například těch, které byly vráceny z volání do metody listFiles () objektu souboru. Je-li volán listFiles() bez parametrů, vrátí všechny objekty souborů v adresáři. Pokud předáme filtr jako parametr, můžeme selektivně vrátit podmnožinu těchto objektů.
vytvoření objektu, který implementuje FilenameFilter, vyžaduje implementaci metody accept (File dir, String name). Objekt dir je nadřazený adresář souboru a název je název souboru. Pokud accept() vrací true, bude soubor vrácen v poli souborových objektů z volání do listFiles(). Pokud accept () vrátí false, soubor není vrácen voláním do listFiles ().
objekt textFilter v DirectoryContents vrací true pouze v případě, že objekt souboru končí .txt. V důsledku toho odmítá všechny ostatní názvy souborů a adresářů. Všimněte si, že volání na f. listFiles() předává textFilter jako argument.
Directoryobsahy.java
provedení DirectoryContents má za následek následující výstup konzoly. I když ostatní soubory a adresáře jsou přítomny v C:\projects\workspace\testing\, pouze .ve výsledcích se zobrazí soubory txt.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt