java – 有没有更好的方式来做多个ext的文件过滤器?
发布时间:2020-05-24 14:26:30 所属栏目:Java 来源:互联网
导读:File files[] = rootDir.listFiles(new FileFilter() { public boolean accept(File file) { if (file.isDirectory()) return true; String name = file.getName().toLowerCase();
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生成验证码的代码
- springmvc+shiro+maven 实现登录认证与权限授权管理
- hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法
- Java编程synchronized与lock的区别【推荐】
- Java封装好的mail包发送电子邮件的类
- java – 为什么VisualVM Profiler不会配置我的Scala控制台应
- Java SpringMVC实现国际化整合案例分析(i18n)
- JavaFx 2.0游戏引擎/框架 – JavaFx 2.0将如何改变Java游戏
- JavaWeb中导出excel文件的简单方法
- java – 最好的方法来避免重复的代码,如果两个类扩展不同的
