FilenameFilter文件名过滤器接口
程序员文章站
2024-02-29 23:35:52
...
public interface FilenameFilter:实现此接口的类实例可用于过滤器文件名。Abstract Window Toolkit 的文件对话框组件使用这些实例过滤 File 类的 list 方法中的目录清单。
简单的说,就是可以在文件集合中过滤出我想要的文件。
-
接口的源码如下:
实现这个接口,重写accept方法,就能实现文件的过滤。文件过滤的代码就卸载accept里面。 -
现在我想要实现拿到文件夹里面所有的.avi文件
上面的代码accept是什么时候调用的呢,就是dir.listFiles时候调用的。
public File[] listFiles(FilenameFilter filter) {
将当前File文件夹下的文件名遍历出来
String ss[] = list();
if (ss == null) return null;
ArrayList<File> files = new ArrayList<>();
for (String s : ss)
if ((filter == null) || filter.accept(this, s))
files.add(new File(s, this));
return files.toArray(new File[files.size()]);
}