Utilizando File.listFiles con FileNameExtensionFilter
Me gustaría obtener una lista de archivos con una extensión específica en un directorio. En la API (Java 6), veo un métodoFile.listFiles(FileFilter)
que haría esto.
ado que necesito una extensión específica, creé unFileNameExtensionFilter
. Sin embargo, obtengo un error de compilación cuando usolistFiles
con este. Supuse que desdeFileNameExtensionFilter implements FileFilter
, Debería poder hacer esto. El código sigue:
FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
La última línea muestra un error de compilación:
metodo listFiles (FileNameFilter) en tipo File no es aplicable para argumentos de tipo FileNameExtensionFilter
Estoy tratando de usarlistFiles(FileFilter)
, nolistFiles(FileNameFilter)
. ¿Por qué el compilador no reconoce esto?
Esto funciona si escribo mi propio filtro de extensión extendiendoFileFilter
. Prefiero usarFileNameExtensionFilter
que escribir el mío. ¿Qué estoy haciendo mal