listFiles的重载方法
1、File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
2、File[] listFiles(FileFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
接口: FileFilter 用于抽象路径名的过滤器。
方法 boolean accept(File pathname)测试指定抽象路径名是否应该包含在某个路径名列表中。
原理:
File对象调用listFiles(FileFilter filter)的过程中,listFiles做了3件事:
1、listFiles方法会对构造方法中传递的目录进行遍历,获取目录中的每一个文件/文件夹-->封装为File对象
2、listFiles方法会调用参数传递的过滤器中的方法accept
3、listFiles方法会把遍历得到的每一个File对象,传递到accept方法的参数pathname
FileFilter的实现类中,accept方法返回值事一个布尔值
返回true:把传递过来的File对象保存到File数组
返回false:不会把传递过来的File对象保存到File数组
3、File[] listFiles(FilenameFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
接口:FilenameFilter 实现此接口的类实例可用于过滤器文件名
方法:boolean accept(File dir, String name)测试指定文件是否应该包含在某一文件列表中。
原理参照FileFilter