FilenameFilter é uma interface no JavaSW que é usada para filtrar nomes de arquivos, como aqueles retornados de uma chamada para o método listFiles() de um objeto de arquivo. Se listFiles () for chamado sem parâmetros, ele retornará todos os objetos de arquivo em um diretório. Se passarmos em um filtro como parâmetro, podemos retornar seletivamente um subconjunto desses objetos.
criar um objeto que implementa FilenameFilter requer que implementemos o método accept (File dir, String name). O objeto dir é o diretório pai do arquivo e o nome é o nome do arquivo. Se accept () retornar true, o arquivo será retornado na matriz de objetos de arquivo da chamada para listFiles (). Se accept () retornar false, o arquivo não será retornado pela chamada para listFiles ().
o objeto textFilter em DirectoryContents retorna true somente se um objeto de arquivo terminar .txt. Como resultado, ele rejeita todos os outros nomes de arquivos e diretórios. Observe que a chamada para F. listFiles () passa o textFilter como um argumento.
DirectoryContents.java
executar DirectoryContents resulta na seguinte saída do console. Mesmo que outros arquivos e diretórios estejam presentes em C:\projects\workspace\testing\, apenas o.os arquivos txt aparecem nos resultados.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt