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

questionAnswers(6)

yourAnswerToTheQuestion