这是"listFiles"方法的源码
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);
if ((filter == null) || filter.accept(f)) {
v.add(f);
}
}
return (File[])(v.toArray(new File[v.size()]));
}
我们可以看到,他是先通过" File f = new File(ss, this);"这段代码,通过根据 抽象路径名和 child 路径名字符串创建一个新 File 实例。 在把这个实例"f"传递给accept(f)方法,
所以这里你的代码public boolean accept(File name){
return name.isFile();//这里的name不是"f4"而是"f4"下面的一个新的文件或文件夹实例
}
|