我想获取目录中具有特定扩展名的文件列表。在 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);
最后一行显示编译错误:
File 类型的方法 listFiles(FileNameFilter) 不适用于 FileNameExtensionFilter 类型的参数
我正在尝试使用listFiles(FileFilter)
,没有listFiles(FileNameFilter)
。为什么编译器不能识别这个?
如果我编写自己的扩展过滤器扩展FileFilter
. 我宁愿使用也不愿FileNameExtensionFilter
自己写。我究竟做错了什么?