java File class - recursively traverse the directory structure and tree show

f.listFiles (); // return all subdirectories and files in the sub-directory
version a : not added counter at different levels

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

Version two : Up Counter at different levels

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

Guess you like

Origin blog.51cto.com/14437184/2418717