import java.io.File;
import java.io.FilenameFilter;
public class FilenameFilterTest {
public static void main(String[] args){
File file=new File(".");
String[] nameList=file.list(new MyFilenameFilter());
for(String name:nameList){
System.out.println(name);
}
}
}
class MyFilenameFilter implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".java")||new File(name).isDirectory();
}
}
这个代码在下有点不懂,在list()方法中传入FilenameFilter的时候只是新建了个对象但是没有调用accept方法,而且accept方法好像也不返回文件名啊··是不是说这些都是在list()方法中完成的,list()用FilenameFilter()对象调用accept方法,还传入文件路径和文件名给accept方法,然后根据accept方法的返回值列出相关文件,它的运作机制是这样的吗?
|