递归的经典应用:打印文件目录

从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印

例如:

aaa是文件夹,里面有bbb.txt,ccc.txt,ddd.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,打印出层级来

aaa

       bbb.txt

       ccc.txt

        ddd.txt    

        eee

                    fff.txt

                    ggg.txt

import java.io.File;

public class Test {

    public static void main(String[] args) throws Exception {
        printFiles(new File("d:\\ccc\\"), 0);
    }

    public static void printFiles(File dir, int level) {
        for (int i = 0; i < level; i++) {
            System.out.print("    ");
        }
        System.out.println(dir.getName());
        if (dir.isDirectory()) {
            File[] files = dir.listFiles();
            for (File file : files) {
                printFiles(file, level + 1);
            }
        }
    }
}

 

posted @ 2018-03-27 21:50  cheney-yang  阅读(208)  评论(0编辑  收藏  举报