listFiles(FileFilter)而不是listFiles(FileNameFilter)

时间:2013-10-11 13:49:50

标签: java io filefilter

当我尝试使用方法someFile.listFiles(FileFilter foobar)时,我收到错误

  

File类型中的方法listFiles(FilenameFilter)不适用于参数(FileFilter)

虽然File的javadoc明确包含:public File[] listFiles(FileFilter filter)http://docs.oracle.com/javase/7/docs/api/java/io/File.html

我该如何解决这个问题?

PS:我的代码是:

    FileFilter folderFilter = new FileFilter() {
        public boolean accept(File file) {
            return file.isDirectory();
        }
        @Override
        public String getDescription() {
            return "some filter";
        }
    };
    File[] foobars = someFile.listFiles(folderFilter);

1 个答案:

答案 0 :(得分:4)

看起来你已经导入了

javax.swing.filechooser.FileFilter

而不是

java.io.FileFilter

从IDE中选择导入时可能会发生

如果使用了正确的导入,由于getDescription方法only found in the former的存在,代码不应编译。该描述用于JFileChooser对话框的显示目的,并不适用于此处。