gpt4 book ai didi

java - 有没有更好的方法来为许多分机做文件过滤?

转载 作者:搜寻专家 更新时间:2023-10-30 21:39:24 24 4
gpt4 key购买 nike

File files[] = rootDir.listFiles(new FileFilter() {
public boolean accept(File file) {
if (file.isDirectory())
return true;

String name = file.getName().toLowerCase();

if (name.endsWith(".zip") || name.endsWith(".jar")
|| name.endsWith(".z") || name.endsWith(".gz")
|| name.endsWith(".tar") || name.endsWith(".bz2")
|| name.endsWith(".bz"))
return true;

return false;
}
});

如您所见,代码因“||”而变脏

你知道如何让它变得更好吗?

最佳答案

对于 Java 6 或更高版本,这是 FileNameExtensionFilter 的完美案例... 除了它扩展 javax.swing.filechooser.FileFilter 而不是实现 java.io.FileFilter
但是为它写一个包装器是微不足道的:

File[] files = rootDir.listFiles(new FileFilter() {
private final FileNameExtensionFilter filter =
new FileNameExtensionFilter("Compressed files",
"zip", "jar", "z", "gz", "tar", "bz2", "bz");
public boolean accept(File file) {
return filter.accept(file);
}
});

关于java - 有没有更好的方法来为许多分机做文件过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/865059/

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