gpt4 book ai didi

java - 将 File.listFiles 与 FileNameExtensionFilter 一起使用

转载 作者:IT老高 更新时间:2023-10-28 11:49:58 26 4
gpt4 key购买 nike

我想获取目录中具有特定扩展名的文件列表。在 API (Java 6) 中,我看到了一个方法 File.listFiles(FileFilter) 可以做到这一点。

因为我需要一个特定的扩展,所以我创建了一个 FileNameExtensionFilter。但是,当我使用 listFiles 时出现编译错误。我假设由于 FileNameExtensionFilter 实现了 FileFilter,我应该能够做到这一点。代码如下:

FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);

最后一行显示编译错误:

method listFiles(FileNameFilter) in type File is not applicable for arguments of type FileNameExtensionFilter

我正在尝试使用 listFiles(FileFilter),而不是 listFiles(FileNameFilter)。为什么编译器不能识别这个?

如果我编写自己的扩展过滤器扩展 FileFilter,这将有效。我宁愿使用 FileNameExtensionFilter 而不是自己编写。我做错了什么?

最佳答案

FileNameExtensionFilter类(class)适用于 Swing用于 JFileChooser .

尝试使用 FilenameFilter反而。例如:

File dir = new File("/users/blah/dirname");
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
});

关于java - 将 File.listFiles 与 FileNameExtensionFilter 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5751335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com