Saltar la navegación

7.2.- Interface FilenameFilter.

Escurridor metálico.
Pau Bou (CC BY-NC-SA)

En ocasiones nos interesa ver la lista de los archivos que encajan con un determinado criterio.

Así, nos puede interesar un filtro para ver los ficheros modificados después de una fecha, o los que tienen un tamaño mayor del que indiquemos, etc.

El interface FilenameFilter se puede usar para crear filtros que establezcan criterios de filtrado relativos al nombre de los ficheros. Una clase que lo implemente debe definir e implementar el método:

boolean accept(File dir, String nombre)

Este método devolverá verdadero (true), en el caso de que el fichero cuyo nombre se indica en el parámetro nombre aparezca en la lista de los ficheros del directorio indicado por el parámetro dir.

En el siguiente ejemplo vemos cómo se listan los ficheros de la carpeta c:\datos que tengan la extensión .odt. Usamos try y catch para capturar las posibles excepciones, como que no exista dicha carpeta.

Imagen del código Java para filtrar ficheros en una carpeta llamada datos, del disco duro.
José Javier Bermúdez Hernández. (CC BY-NC)

Filtrar ficheros. (2.00 KB)

Autoevaluación

Indica si la siguiente afirmación es verdadera o falsa:

Pregunta 1

Una clase que implemente FileNameFilter puede o no implementar el método accept. ¿Verdadero o Falso?