String[] list(FilenameFilter filter)
目录
public String[] list(FilenameFilter filter) {
String names[] = this.list();//一般的将目录this下的文件名数组赋给names[]
if ((names == null) || (filter == null)) {//如果this为文件或者filer 为空,//则放回空
return names;
}
ArrayList v = new ArrayList();
// 没想到这里隐藏了这么个调用过程
for (int i = 0; i < names.length; i++) {
if (filter.accept(this, names[i])) {//传递this和一个文件名给filter的accept
v.add(names[i]);
}
}
return (String[]) (v.toArray(new String[0]));//将符合要求的数组返回
}