java_过滤器

Posted aikang525

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java_过滤器相关的知识,希望对你有一定的参考价值。

 1 /** 过滤器:
 2 *  File类中有两个和listFiles方法重载的方法,方法的参数就是过滤器
 3 *  listFiles(FileFilter filter)
 4 *  java.io.FileFilter接口
 5 *  作用:用来过滤文件(File对象)
 6 *  抽象方法:用来皈依了文件的方法
 7 *      boolean accept(File pathname)测试指定抽象路径名是否应该包含在某路径名列表中
 8 *      参数File pathname:使用listFile方法遍历目录得到的每一个文件对象
 9 *  listFile(FilenameFilter filter):
10 *
11 *  java.io.FilenameFilter接口:
12 *  作用:用于过滤文件名称
13 *  accept(File dir,Setring name)测试指定文件是否应该包含在某一文件列表中
14 *  参数:
15 *      File dir:构造方法中传递的被遍历目录
16 *      Setring name:使用ListFiles方法遍历目录,获取的每一个文件/文件夹的名称
17 *  注意:
18 *      两个过滤器接口没有实现类,需要自己写实现类,重写过滤方法accept,在方法中自己定义过滤规则
19 */
20 public static void main(String[] args) 
21     //使用过滤器找出指定文件夹下的.java文件
22     File f1 = new File("F:\\FileTest");
23     String nameLower = ".java";
24     getAllFile(f1,nameLower);
25 
26 //定义查找指定后缀文件的方法
27     public static void getAllFile(File dir,String name)
28         File[] file = dir.listFiles(new FilenameFilterimp());
29         for (File f : file) 
30             if(f.isFile()) 
31 
32                 System.out.println(f);
33             else if(f.isDirectory())
34                 getAllFile(f,name);
35             
36         
37     
38 
39 
40 class FilenameFilterimp implements FileFilter 
41 
42     @Override
43     public boolean accept(File pathname) 
44         if (pathname.isDirectory()) 
45             return true;
46         return pathname.getName().toLowerCase().endsWith(".java");
47     
48 
 1 public static void main(String[] args) 
 2     //使用过滤器找出指定文件夹下的.java文件
 3     File f1 = new File("F:\\FileTest");
 4     String nameLower = ".java";
 5     getAllFile(f1,nameLower);
 6 
 7     //定义查找指定后缀文件的方法
 8     public static void getAllFile(File dir,String name)
 9         File[] file = dir.listFiles(new FileFilter() 
10             @Override
11             public boolean accept(File pathname) if (pathname.isDirectory())  return true; return pathname.getName().toLowerCase().endsWith("java"); );
12         for (File f : file) 
13             if(f.isFile()) 
14 
15                 System.out.println(f);
16             else if(f.isDirectory())
17                 getAllFile(f,name);
18             
19         
20     
21 

 

以上是关于java_过滤器的主要内容,如果未能解决你的问题,请参考以下文章

Java过滤器Filter的原理及配置_学习笔记

java_day30_javaWeb三大组件之过滤器Filter

java.lang.ClassCastException: com.bjsxt.registration.model.User_$$_javassist_0 cannot be cast to jav

java_第一年_JavaWeb(15)

JAVA特殊字符过滤方法

正则表达式过滤'_'下划线。