日期:2014-05-20  浏览次数:20712 次

文件路径名过滤
public static void main(String [] args){
  File f=new File("路径名");
  String [] s=f.list(new Filefilter());
  for(int i = 0;i<s.length;i++)
  System.out.println(s[i]);
   
   
   
  }
}
class Filefilter implements FilenameFilter{
public boolean accept(File dir, String name){
System.out.println("Root:"+dir.getPath()+"\t subRoot:"+name);
File file=new File(dir,name);
if(file.isFile()&&name.indexOf(".java")!=-1)
return true;
else
return false;
}
只要创建了Filefilter的对象,就会直接自动调用accept了?不用filefilter.accept()?
系统是怎么将DIR和NAME参数传入的?

------解决方案--------------------
[code=Java][/code]
String[] s = file.list(new FilenameFilter(){
public boolean accept(File dir , String name){
return name.endsWith(".java");
}
})

通常都使用匿名内部类吧。
------解决方案--------------------
探讨
只要创建了Filefilter的对象,就会直接自动调用accept了?不用filefilter.accept()?
系统是怎么将DIR和NAME参数传入的?

------解决方案--------------------
File file = new File(path);
File[] arrayFiles = file.listFiles();
这样写你就不用纠结了~