十万个为什莫之“关于接口的实现FilenameFilter接口”
/*程序功能;过滤出当前目录下所有.java文件*/
import java.io.*;
public class FilterFileName{
public FilterFileName(){
String filter = new String(".java");
String[] list ;
File path = new File(".");
list = path.list(new FileFilter(filter));
for (int i = 0 ; i<list.length;i++)
System.out.println(list[i]);
}
public static void main(String[] parameters ){
FilterFileName f = new FilterFileName();
}
}
class FileFilter implements FilenameFilter {
String filterName ;
FileFilter(String filterName){this.filterName = filterName;}
public boolean accept(File dir,String name){
String f = new File(name).getName();
return f.indexOf(filterName) != -1;
}
}
本程序在jdk1.3.0_02下调试通过运行结果如下:
F:\java21天\STYJ2PRE2E\day17>javac FilterFileName.java
F:\java21天\STYJ2PRE2E\day17>java FilterFileName
AllCapsDemo.java
BufferDemo.java
capTempFile.java
FilterFileName.java
ReadBytes.java
ReadHex.java
ReadPrimes.java
ReadSource.java
TempFile.java
WriteBytes.java
WritePrimes.java
ZeroFile.java
请问:1.这里被实现的接口FilenameFilter中的accept方法是什莫时候被执行的?
2.以.java类型文件是在File类的list函数中被过滤的还是在实现了 FilenameFilter接口的 FileFilter类中实现的。
3.希望各位帮忙解释一下以上程序的执行过程。
小妹在此谢谢各位高手了。