标签:遍历 抽象 new 路径 sys OLE rri test filter
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 }
标签:遍历 抽象 new 路径 sys OLE rri test filter
原文地址:https://www.cnblogs.com/aikang525/p/11262865.html