FilenameFilter
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("e:/");
String[] s = f.list(new MyFile());
for (String string : s) {
System.out.println(string);
}
}
}
class MyFile implements FilenameFilter {
@Override
public boolean accept(File arg0, String arg1) {
// TODO Auto-generated method stub
return arg1.endsWith(".txt");
}
}
我们想要列出指定类型的文件时,java为我们提供了FilenameFilter接口。此接口要实现accept方法,此方法中File arg0代表父目录名,String arg1代表要返回的文件名。因为arg为String类型的,所以可以调用String类中的endsWith方法。这样就能达到目的。
FileFileter
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
public class FileDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("e:/");
File[] s = f.listFiles(new MyFile());
for (File file : s) {
System.out.println(file);
}
}
}
class MyFile implements FileFilter {
@Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
return pathname.isFile() && pathname.getName().endsWith(".txt");
}
}
FileFileter中的accept方法接收的是File对象,因此能够调用File中的一些方法。