public boolean accept(File dir,String name){ return name.endsWith("."+extent); }
}public class ListFileApp{ public static void main(String args[]){ File dir = new File("d:\\java"); Filter filter = new Filter("java"); System.out.println("start list .java files..."); String files[]=dir.list(filter); for(int i=0;i<files.length;i++){ File f = new File(dir,files[i]); if(f.isFile()) System.out.println("file:"+f); else System.out.println("sub dir:"+f); } } }
例子:
class CertFilter extends javax.swing.filechooser.FileFilter {
final static String cfg = "cer"; public boolean accept(File f) {
String s = f.getName();
int i = s.lastIndexOf('.');
if (i > 0 && i < s.length() - 1) {
String extension = s.substring(i + 1).toLowerCase();
if (cfg.equals(extension)) {
return true;
} else {
return false;
}
}
;
return false;
} // The description of this filter
public String getDescription() {
return "certificate files (*.cer)";
}
}
import java.io.*;class Filter implements FilenameFilter{
String extent;
public Filter(String extent){
this.extent=extent;
}
public boolean accept(File dir,String name){
return name.endsWith("."+extent);
}
}public class ListFileApp{
public static void main(String args[]){
File dir = new File("d:\\java");
Filter filter = new Filter("java");
System.out.println("start list .java files...");
String files[]=dir.list(filter);
for(int i=0;i<files.length;i++){
File f = new File(dir,files[i]);
if(f.isFile())
System.out.println("file:"+f);
else
System.out.println("sub dir:"+f);
}
}
}
xsl 等等这样的,上面的两个程序只是实现了一种过滤方法