我如何过滤多个扩展名,FileNameFilter 一次只允许一个字符串..
// filter extension, but only allow filtering single extension.
// i want to filter three extension like mp4, flv, wmv
public class GenericExtFilter implements FilenameFilter {
private String ext;
public GenericExtFilter(String ext) {
this.ext = ext;
}
public boolean accept(File dir, String name) {
return (name.endsWith(ext));
}
Run Code Online (Sandbox Code Playgroud)
如下重写您的过滤器。
public class GenericExtFilter implements FilenameFilter {
private String[] exts;
public GenericExtFilter(String... exts) {
this.exts = exts;
}
@Override
public boolean accept(File dir, String name) {
for (String ext : exts) {
if (name.endsWith(ext)) {
return true;
}
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以用多个扩展来初始化它:new GenericExtFilter("mp4", "flv", "wmv");.
该accept方法将循环遍历数组,如果找到匹配的扩展名,则返回 true,如果没有,则返回 false。
| 归档时间: |
|
| 查看次数: |
3834 次 |
| 最近记录: |