FilenameFilter is een interface in JavaSW die wordt gebruikt om bestandsnamen te filteren, zoals die geretourneerd van een aanroep naar een bestand object listFiles() methode. Als listFiles () zonder parameters wordt aangeroepen, worden alle Bestandsobjecten in een map geretourneerd. Als we een filter als parameter invoeren, kunnen we selectief een deelverzameling van die objecten retourneren.
het maken van een object dat FilenameFilter implementeert vereist dat we de methode accept(File dir, String name) implementeren. Het dir object is de bovenliggende map van het bestand, en naam is de naam van het bestand. Als accept () true retourneert, wordt het bestand geretourneerd in de array van Bestandsobjecten van de aanroep naar listFiles (). Als accept () false retourneert, wordt het bestand niet geretourneerd door de aanroep naar listFiles ().
het object textFilter in DirectoryContents geeft alleen waar terug als een object in een bestand eindigt .txt. Als gevolg daarvan, het verwerpt alle andere bestand en directorynamen. Merk op dat de aanroep naar f.listFiles() het textFilter als argument doorgeeft.
DirectoryContents.java
uitvoerende DirectoryContents resulteert in de volgende console-uitvoer. Hoewel andere bestanden en mappen aanwezig zijn in C:\projects\workspace\testing\, alleen de .txt-bestanden worden weergegeven in de resultaten.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt