java遍历文件目录
遍历文件目录(直接输出)
public static void main(String[] args) {
//通过findfile静态方法对文件进行递归遍历
File f = new File("E:\\java_workplace");
findfile(f);
}
public static void findfile(File f) {
//判断是否是文件或者不存在(递归出口)
if(f.isFile()|(!f.exists()))
return ;
File[] fs = f.listFiles();
//遍历列表并打印路径(for循环特殊用法)
for(File subF:fs) {
System.out.println(subF.getAbsolutePath());
findfile(subF); //递归
}
}
遍历文件目录(分类输出)
public static void findfile(File f) {
System.out.println("当前位置:"+f.getAbsolutePath());
File[] fs = f.listFiles();
ArrayList<File> al = new ArrayList<File>(); //暂存目录
for(File subF:fs)
if(subF.isFile()) //打印子文件(也是递归出口)
System.out.println("子文件:"+subF.getAbsolutePath());
else
al.add(subF);
//打印子目录
for(int i=0;i<al.size();i++)
System.out.println("子目录:"+al.get(i).getAbsolutePath());
//递归
for(File subD:al)
findfile(subD);
}