天天看点

java File类-递归遍历目录结构和树状展现

f.listFiles(); //返回目录下的所有子目录和子文件

版本一:未加计数器分层次

static void f(File f) {
        System.out.println(f.getName());
        if(f.isDirectory())
        {
            File[] files=f.listFiles();    //如果是目录,返回目录下的所有子目录和子文件
            for(File fi:files)
            {
                f(fi);
            }
    }
    }
           

版本二:加计数器分层次

static void f(File f,int level) {    //添加计数器
            for(int i=0;i<level;i++)
            {
                System.out.print("-");        //打印“-”
            }
            System.out.println(f.getName());
            if(f.isDirectory())
            {
                File[] files=f.listFiles();    //如果是目录,返回目录下的所有子目录和子文件
                for(File fi:files)
                {
                    f(fi,level+1);             //每次递归是level加1
                }
            }
        }