Я хотів би отримати список файлів із певним розширенням у каталозі. В 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
ніж написати своє. Що я роблю не так?