Я хочу получить список файлов с определенным расширением в каталоге. В API (Java 6) я вижу метод, File.listFiles(FileFilter)
который бы это сделал.
Поскольку мне нужно конкретное расширение, я создал файл FileNameExtensionFilter
. Однако, когда я использую listFiles
это, я получаю ошибку компиляции . Я предположил, что с тех пор FileNameExtensionFilter implements FileFilter
я смогу это сделать. Код следующий:
FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
Последняя строка показывает ошибку компиляции:
метод listFiles (FileNameFilter) в типе File не применяется для аргументов типа FileNameExtensionFilter
Я пытаюсь использовать listFiles(FileFilter)
, а не listFiles(FileNameFilter)
. Почему компилятор этого не распознает?
Это работает, если я напишу свой собственный фильтр расширения FileFilter
. Я лучше буду использовать, FileNameExtensionFilter
чем писать свой собственный. Что я делаю неправильно?