在File类中有两个和listFilter重载的方法,方法的参数传递的就是过滤器
File[] listFiles(FileFilter filter)
java.io.FileFilter接口,可用于抽象路径名(Filter对象)的过滤器。
作用:用来过滤文件(File对象)
抽象方法:用来过滤文件的方法
boolean accpet(File pathname) 测试指定抽象路径名是否应该包含在某个路径名列表中。
参数:
File pathname: 使用 listFiles方法遍历目录,得到的每一个文件对象。
File[] listFiles(FilenameFilter filter)
java.io.FilenameFilterr接口,实现此接口的类实例可用于过滤器文件名。
作用: 用于过滤文件名称
抽象方法:用来过滤文件的方法
boolean accept(File dir,String name) 测试指定文件是否应该包含在某一文件列表中。
参数:
File dir:构造方法中传递的该遍历的目录
String name:使用listFiles方法遍历目录,获取每一个文件/文件夹的名称
注意:
这两个过滤器是没有实现类的,需要我们自己写实现类,重写过滤器的accept方法,在方法中自己定义过滤器的规则. 也就是我们再accept方法中自定义一套规则,如果返回true该方法就会把符合规则的文件名或目录,封装成File数组放回。