java文件过滤器_板框过滤器

(49) 2024-07-28 09:01:01

在File类中有两个和listFiles重载的方法,方法传递的参数就是过滤器,方法如下:

1. 重载方法1

1.1 方法名称

File[] listFiles(FileFilter filter)

1.2 说明

java.io.FileFilter接口是用于抽象路径名File的过滤器,其主要作用是过滤file文件,接口中只有唯一的抽象方法accept,如下:

boolean accept(File pathname); //判断指定抽象路径名是否应该包含在某个路径名列表中 //参数File pathname指的是listFiles方法遍历目录,得到的全部文件

1.3 案例

private static void getAllFiles1(File file) { if(file.isDirectory()){ File[] files = file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) {//将.java结尾的文件存储到files中 return pathname.isDirectory || pathname.getName().endsWith(".java"); } }); for (File file1 : files) { System.out.println(file1); } } }

2. 重载方法2

2.1  方法名称

File[] listFiles(FilenameFilter filter)

2.2 案例

private static void getAllFiles1(File file) { if(file.isDirectory()){ File[] files = file.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return new File(dir,name).isDirectory() || name.endsWith(".java"); } }); for (File file1 : files) { System.out.println(file1); } } }

 

THE END

发表回复