Usando File.listFiles com FileNameExtensionFilter
Gostaria de obter uma lista de arquivos com uma extensão específica em um diretório. Na API (Java 6), vejo um métodoFile.listFiles(FileFilter)
o que faria isso.
Como preciso de uma extensão específica, criei umFileNameExtensionFilter
. No entanto, recebo um erro de compilação quando usolistFiles
com isso. Eu assumi que desdeFileNameExtensionFilter implements FileFilter
, Eu deveria conseguir fazer isso. Código a seguir:
FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
A última linha mostra um erro de compilação:
method listFiles (FileNameFilter) no tipo File não é aplicável a argumentos do tipo FileNameExtensionFilter
Estou tentando usarlistFiles(FileFilter)
, nãolistFiles(FileNameFilter)
. Por que o compilador não reconhece isso?
Isso funciona se eu escrever meu próprio filtro de extensão estendendoFileFilter
. Eu prefiro usarFileNameExtensionFilter
do que escrever o meu. O que estou fazendo errado