File类之按层级关系打印文件名称源码

import java.io.File;

public class Kll {
    public static void main(String[] args) {
        File file = new File("/Users/lanou/Desktop/Test");
        printFiles(file, 0);
    }
    public static void printFiles(File file, int level) {
        // 按层级拼接空格即制表符
        String str = "";
        for (int i = 0; i < level; i++) {
            // 累加
            str += "\t";
        }
        // 获取该目录下的所有一级目录文件
        File[] files = file.listFiles();
        // 遍历文件数组
        for (File subFile : files) {
        // 获取文件名
            String name = subFile.getName();
            if (subFile.isDirectory()) {
                // 是文件夹 先打印文件夹名和空格
                System.out.println(str + "" + name);
                // 调用 递归
                printFiles(subFile, level + 1);
            }else {
                // 是文件 直接打印文件名
                System.out.println(str + name);
            }

        }
    }
}

运行结果图:这里写图片描述

猜你喜欢

转载自blog.csdn.net/KongLingLei_08225/article/details/82667280