public File[] listFiles(FileFilter filter) {
String ss[] = list(); //取得一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
if (ss == null) return null;
ArrayList v = new ArrayList();
for (int i = 0 ; i < ss.length ; i++) {
File f = new File(ss, this); //实例化一个新的f文件对象(就是"this"下面的文件或文件夹)
if ((filter == null) || filter.accept(f)) { //把f传递给"accept"方法,通过aceept方法获得一个逻辑值,所以可以通过覆写accept方法,所得到的值控制是否把此文件加入集合中,
v.add(f);
}
}
return (File[])(v.toArray(new File[v.size()]));
}
|