获取一个想要的指定文件的集合,获取文件夹下(包含子目录的所有.java的文件对象,并存储到集合中)

来源:互联网 发布:js注册界面源代码 编辑:程序博客网 时间:2024/05/17 09:17
import java.io.File;import java.io.FileFilter;import java.io.ObjectInputStream.GetField;import java.util.ArrayList;import java.util.List;public class huoquwenjian {   /*获取一个想要的指定文件的集合,获取文件夹下(包含子目录的所有.java的文件对象,并存储到集合中)  * 思路:  * 1,既然包含子目录,就需要递归。  * 2,在递归过程中需要过滤器  * 3,满足条件,都添加到集合中  *//** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub               File dir = new File("E:\\java文件");               List<File> list = new ArrayList<File>();               FileFilter filterbyjava=new Filterbyjava(".java");               getFileList(dir,list,filterbyjava);               for(File list1:list){               System.out.println(list1);               }}private static void getFileList(File dir, List<File> list,FileFilter filterbyjava) {File[] files = dir.listFiles();for(File file:files){if(file.isDirectory()){getFileList(file, list, filterbyjava);}else{ if(filterbyjava.accept(file)){list.add(file);}}}}}
 // 过滤器类
import java.io.File;import java.io.FileFilter;public class Filterbyjava implements FileFilter {public String suffix;public Filterbyjava(String suffix) {super();this.suffix = suffix;}@Overridepublic boolean accept(File pathname) {// TODO Auto-generated method stubreturn pathname.getName().endsWith(suffix);}}


0 0