FilenameFilter es una interfaz en JavaSW que se usa para filtrar nombres de archivos, como los que se devuelven de una llamada al método listFiles() de un objeto de archivo. Si se llama a listFiles () sin parámetros, devuelve todos los objetos de archivo de un directorio. Si pasamos un filtro como parámetro, podemos devolver selectivamente un subconjunto de esos objetos.
Crear un objeto que implemente FilenameFilter requiere que implementemos el método accept(Directorio de archivo, Nombre de cadena). El objeto dir es el directorio padre del archivo, y name es el nombre del archivo. Si accept () devuelve true, el archivo se devolverá en la matriz de objetos File de la llamada a listFiles (). Si accept () devuelve false, la llamada a listFiles () no devuelve el archivo.
El objeto textFilter en DirectoryContents devuelve true solo si un objeto File termina en .txt. Como resultado, rechaza todos los demás nombres de archivos y directorios. Observe que la llamada a f. listFiles () pasa el filtro de texto como argumento.
DirectoryContents.java
La ejecución de DirectoryContents da como resultado la siguiente salida de consola. A pesar de que otros archivos y directorios están presentes en C:\projects\workspace\testing\, sólo el .los archivos txt aparecen en los resultados.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt