FilenameFilter jest interfejsem w JavaSW, który służy do filtrowania nazw plików, takich jak te zwrócone z wywołania metody listFiles() obiektu Pliku. Jeśli listFiles() jest wywoływana bez parametrów, zwraca wszystkie obiekty plików w katalogu. Jeśli przekażemy filtr jako parametr, możemy selektywnie zwrócić podzbiór tych obiektów.
wytworzenie obiektu, który implementuje FilenameFilter wymaga od nas implementacji metody accept(file dir, String name). Obiekt dir jest katalogiem nadrzędnym pliku, a nazwa jest nazwą pliku. Jeśli accept () zwróci true, plik zostanie zwrócony w tablicy obiektów pliku z wywołania listFiles (). Jeśli accept () zwróci false, plik nie zostanie zwrócony przez wywołanie listFiles ().
obiekt textFilter w DirectoryContents zwraca true tylko wtedy, gdy obiekt pliku kończy się na .txt. W rezultacie odrzuca wszystkie inne nazwy plików i katalogów. Zauważ, że wywołanie f.listFiles() przekazuje textFilter jako argument.
java
wykonanie polecenia DirectoryContents powoduje następujące wyjście konsoli. Mimo że inne pliki i katalogi są obecne w C:\projects\workspace\testing\, tylko .pliki txt pojawiają się w wynikach.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt