按层级打印文件夹

按层级打印文件夹

问题描述:

,把文件夹中的所有文件以及文件夹的名字按层级打印

例如:

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

aaa

​ bbb.txt

​ ccc.txt

​ ddd.txt

​ eee

​ fffff.txt

​ ggg.txt

参考答案:

import java.io.File;

public class Test10 {
    public static void main(String[] args) {

        printDir(new File("E:/abc"), 0);
    }

    private static void printDir(File f, int level) {

        for (int i = 0; i < level; i++) {
            System.out.print("\t");
        }
        System.out.println(f.getName());
        if (f.isDirectory()) {
            File[] files = f.listFiles();
            for (File file : files) {
                printDir(file, level + 1);
            }
        }
    }

}
/*
打印结果:
abc
	123
	2018年全国青少年禁毒知识竞赛题库.pdf
	code
		demo01
			Demo03.java
			Demo04.java
		Demo01.java
		Demo02.java
	file03.txt
	HelloWorld.java
	IT书籍
		C从入门到放弃.pdf
		Java从入门到精通.pdf
	哈利波特.txt
	数学之美.PDF
	数学之美.PDF1
	朝花夕拾.txt
	流浪地球.avi
	百年孤独.txt
*/

自己瞎敲的代码:

package com.test.Test02;

import java.io.File;
import java.util.ArrayList;


public class Test09 {
    public static void main(String[] args) {

        printFiles(new File("E:/abc"));
    }

    private static void printFiles(File dir) {
        ArrayList<File> f =new ArrayList<>();
        ArrayList<File> d = new ArrayList<>();
        if(dir.isDirectory()){
            File[] files = dir.listFiles();
            for (File file : files) {
                if(file.isFile()){

                    f.add(file);
                }else {

                    d.add(file);
                    printFiles(file);
                }
            }

            System.out.println(dir.getName()+"是文件夹,里面有文件:"+f+";\r\n文件夹:"+d);
        }else {
            System.out.println(dir.getName()+"是文件");
        }


    }
}
/*
123是文件夹,里面有文件:[];
文件夹:[]
demo01是文件夹,里面有文件:[E:\abc\code\demo01\Demo03.java, E:\abc\code\demo01\Demo04.java];
文件夹:[]
code是文件夹,里面有文件:[E:\abc\code\Demo01.java, E:\abc\code\Demo02.java];
文件夹:[E:\abc\code\demo01]
IT书籍是文件夹,里面有文件:[E:\abc\IT书籍\C从入门到放弃.pdf, E:\abc\IT书籍\Java从入门到精通.pdf];
文件夹:[]
数学之美.PDF1是文件夹,里面有文件:[];
文件夹:[]
abc是文件夹,里面有文件:[E:\abc\2018年全国青少年禁毒知识竞赛题库.pdf, E:\abc\file03.txt, E:\abc\HelloWorld.java, E:\abc\哈利波特.txt, E:\abc\数学之美.PDF, E:\abc\朝花夕拾.txt, E:\abc\流浪地球.avi, E:\abc\百年孤独.txt];
文件夹:[E:\abc\123, E:\abc\code, E:\abc\IT书籍, E:\abc\数学之美.PDF1]
*/
posted @ 2020-06-13 21:42  阿亮在努力  阅读(303)  评论(0)    收藏  举报