欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java实现当前目录下的所有子目录和文件,并按层级打印

程序员文章站 2022-05-15 08:44:12
...

目录下有子目录,子目录下有子目录,很容易想到用递归来实现。

    /**
     * 递归实现按层级打印目录下的子目录和文件
     * @param file 所在目录
     * @param count 所在层级
     */
    public static void getFileName(File file,int count) {
        for(File f:file.listFiles()) {         //遍历目录
            String preStr = "";
            for(int i=0; i<=count; i++) {    //所在层级的输出格式
                preStr += " ";
            }
            System.out.println(preStr+f.getName());
            if(f.isDirectory()){            //是否为目录
                count++;
                getFileName(f,count);        //递归调用
            }
            
        }
    }


在程序中最好是避免使用递归方法!

非递归实现:

算法设计的不好,就不贴出来了,有好的方法希望能多分享交流。

非递归实现个人觉得满意后再贴出来。