递归打印目录层次(java版)

import java.io.File;

public class Test {
    /**
     * 
     * @param fileDir  根目录
     * @param num 递归层次
     */
    private static void consoleFile(String fileDir, int num) {
        File file = new File(fileDir);
        File[] files = file.listFiles();// 获取目录下的所有文件或文件夹
        if (files == null) {// 如果目录为空,直接退出
            return;
        }
        // 遍历,目录下的所有文件
        for (File f : files) {
            if (f.isDirectory()) {
                consoleSplit(f.getAbsolutePath(), num);
                consoleFile(f.getAbsolutePath(), num + 1);
            } else if (f.isFile()) {
                consoleSplit(f.getAbsolutePath(), num);
            }
        }
    }
    
    /**
     * 按照递归层次打印目录结构
     * @param fileName 文件或者目录名
     * @param num 递归层次
     */
    private static void consoleSplit(String fileName, int num) {
        for (int i = 0; i < num; i++) {
            System.out.print("|========");
        }
        System.out.println(fileName);
    }
 
    public static void main(String[] args) {
        consoleFile("E:/", 0);
    }

}

 

posted on 2018-07-24 17:10  PPBoy  阅读(1370)  评论(0编辑  收藏  举报

导航