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_day30_javaWeb三大组件之过滤器Filter
java.lang.ClassCastException: com.bjsxt.registration.model.User_$$_javassist_0 cannot be cast to jav