java读取文件夹和子文件夹下所有文件

java递归调用实现读取文件夹下所有文件

getFile类:
 1 public class GetFile {
 2     List list = new ArrayList();
 3     public  List fileReader(File f){
 4         File[] flist = f.listFiles();//得到子文件夹列表
 5         for(int i=0;i<flist.length;i++){
 6             if(flist[i].isDirectory()==true){
 7                 fileReader(flist[i]);//如果是子文件夹递归调用自身
 8             }else
 9                 flist[i].getAbsoluteFile();
10                 list.add(flist[i].getAbsolutePath());//得到文件名
11         }
12         return list;
13     }
14 }
有时需要读取文件夹中前n-1个文件(xml文件夹中最后是DTD文件)
可以再写一个方法
import java.io.File;
import java.util.ArrayList;
import java.util.List;


public class GetFile {
    List list = new ArrayList();
    public  List fileReader(File f){
        File[] flist = f.listFiles();
        for(int i=0;i<flist.length;i++){
            if(flist[i].isDirectory()==true){
                fileReader2(flist[i]);
            }
        }
        return list;
    }
    public List fileReader2(File f){
        File [] flist = f.listFiles();
        for(int i=0;i<flist.length-1;i++){
            list.add(flist[i].getAbsoluteFile());
        }
        return list;
    }
}
只有子文件夹下有文件时比较好使

 

posted @ 2014-03-13 09:15  G_xjn  阅读(741)  评论(0编辑  收藏  举报