在File的list方法中可以接受一个FilenameFilter参数,通过该参数可以只列出符合条件的文件。
FilenameFilter接口里包含了一个accept(File dir,String name) 方法,该方法将依次对File的所有子目录、子文件夹进行迭代,如果该方法返回true,则list方法列车该子目录或者子文件夹。
public class FilenameFilterTest
{
public static void main(String[] args)
{
//在当前路径下创建一个file对象
File file=new File(".");
String[] nameList=file.list(new MyFileFilter());
for(String name:nameList)
{
System.out.println(name);
}
}
class MyFilenameFilter implements FilenameFilter
{
public boolean accept(File dir,String name)
{
return name.endsWith(".java")||new File(name).isDirectory();
}
}
上面的粗体字代码部分就是实现了accept方法,实现accept方法就是指定自己的规则,指定那些文件应该有list方法列出。