JAVA 因简洁而美丽,因有效而动人
善待JAVA这颗种子的人,必将得到她的福荫
关于Java文件过滤器的两点疑问
上一篇 /
下一篇 2010-09-07 22:31:58
/ 个人分类:java
文件搜索类FileFilter和FilenameFilter1.FileFilter经常会被这么使用public class ExtensionFilter implements Filter { private String extension; public ExtensionFilter (String extension) { this.extension = extension; } pulbic boolean accept(File file) { if(file.isDirectory()) { return false; } String name=file.getName(); int index=name.lastIndexOf("."); if(index == -1) return false; else if(index == name.length()-1) return false; else return this.extension.equals(name.subString(index+1)); }}2.FilenameFilter会被这么用public class ExtensionFilenameFilter implements FilenameFilter { public boolean (File dir,String filename) { return filename.toLowerCase().endsWith(".png")||filename.toLowerCase().endsWith(".gif")||filename.toLowerCase().endsWith(".jpg"); }}3:测试用例public TestFile { public static void main(String args[]) { File file =new File("."); ExtensionFileFilter txtFilter = new ExtensionFileFilter("txt"); ExtensionFilenameFilter imageFilter = new ExtensionFilenameFilter(); File files[] = file.list(txtFilter); for(int i= 0;i<files.length;i++) { System.out.println(files[i]); } File images[] = images.list(imageFilter); for(int i= 0;i<images.length;i++) { System.out.println(images[i]); } }}4:问题如下:ExtensionFileFilter类中的accept()方法中的形参file并没有被用到,至少对外不可见。ExtensionFilenameFilter类中的accept()方法中的dir形参并没有被用到,至少没有显示用到。请问Accept()方法是如何被调用的?我们使用这两个类时,只是单单调用了构造方法呀。请高手解答一下。
收藏
举报
TAG:
FileFilter
FilenameFilter
java
Java