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;
}
}