文件过滤器
承接上一篇
listFiles有2个重载的方法:
File[ ] listFiles(FileFilter filter)
File[ ] listFiles(FilenameFilter filter)
这2个方法都是利用参数里面的过滤器的accept方法来过滤文件
FileFilter 和 FilenameFilter 都是接口,里面只有一个方法accept方法
如何使用?
1、先创建一个类FileFilterImp ,实现FileFilter 接口
2、再传入一个实例对象new FileFilterImp()给listFiles参数
//1、先创建一个类FileFilterImp ,实现FileFilter 接口
public void FileFilterImp implements FileFilter{
@override
publice boolean accept(){
//添加过滤条件
}
}
//2、再传入一个实例对象new FileFilterImp()给listFiles参数
File[] files = dir.listFiles(new FileFilterImp())
- 实际上,File[] files = dir.listFiles(new FileFilterImp())
做了3件事情
1、listFiles把 dir中的文件、目录都遍历后封装为File对象
2、listFiles调用参数中的accept方法
3、然后再把遍历得到的File对象传递给accept方法参数的pathname
这样就能是用过滤器过滤文件了