io流(递归遍历目录)


递归遍历目录

就是使用File类来遍历文件,不一样的是,它还要遍历内部的文件夹,并使输出的结果看起来有层次,代码如下:

这里的注意点是:

在遍历第一层文件时,判断是否为文件夹,是的话继续遍历,再就是将遍历的实现创建一个方法,方便使用

package com.bjsxt.test01;

import java.io.File;

public class Test3 {
    public static void main(String[] args) {
        File f = new File("D:\\a");
        bianli(f,1);
    }
    public static void bianli(File f,int level){
        File[] fs = f.listFiles();
        for (File file : fs) {
            for (int i = 0; i <=level-1; i++) {//这个循环的目的是让目录看起来有层次
                System.out.print("-");
            }
            System.out.println(file.getName());//只遍历名字,否则默认遍历地址
            if (file.isDirectory()){//判断是否为目录,是的话继续遍历
                bianli(file,level+1);
            }
        }
    }
}