IO流:查找C盘目录下的TXT文件,存储到list集合

 /**
     *查找C盘目录下的TXT文件,存储到list集合
     * @param args
     */
    public static void main(String[] args) {
        /*List<File> list = find (new File ("c:/"), ".txt");*/
        /*find1 (new File ("c:/"), ".txt");*/
        ArrayList<File> l = new ArrayList<> ();
        find2 (new File ("c:/"), ".txt",l);
        System.out.println (l);
    }

    /**
     * 版本一:
     */
    public static List<File> find(File dir,String name){
        List list = new ArrayList<> ();
        File[] files = dir.listFiles ();
        if(files==null){
            return null;
        }
        for (File file : files) {
            //判断如果是否为目录
            if(file.isDirectory ()){
                List<File> list1 = find (file, name);
               list.add (list1);
            }else if(file.getName ().endsWith (name)) {
                list.add (file);
            }
        }
        return list;
    }

    /**
     * 版本二:
     */
    static  List list = new ArrayList<> ();
    public static void find1(File dir,String name){
        File[] files = dir.listFiles ();
        if(files==null){
            return ;
        }
        for (File file : files) {
            //判断如果是否为目录
            if(file.isDirectory ()){
                find1(file, name);
            }else if(file.getName ().endsWith (name)) {
                list.add (file);
            }
        }
    }

    /**
     * 版本三
     * @param dir
     * @param name
     */
    public static void find2(File dir,String name,List list){
        File[] files = dir.listFiles ();
        if(files==null){
            return ;
        }
        for (File file : files) {
            //判断如果是否为目录
            if(file.isDirectory ()){
                find2(file, name,list);
            }else if(file.getName ().endsWith (name)) {
                list.add (file);
            }
        }
    }

版权声明:本文为cptower原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。