Java打印目录结构 可生成包名
背景
想要介绍一个项目各个包的内容,但是不想手敲目录结构,于是写了个工具类生成目录结构。
可配置项
- 忽略文件夹:可以忽略一个或多个文件夹;
- 文件夹折叠开关:连续的空文件夹会被默认打印成包名,但可以通过开关打开和关闭;
- 是否生成文件:考虑到多数情况只需要生成目录不需要生成具体文件,所以有这个开关,控制是否打印文件。
代码
用法
System.out.print(generate(System.getProperty("user.dir") + "/src/main/java", new HashSet<>(Arrays.asList(".idea", "target", ".git")), true, true));
System.out.println("\n\n------------------------------------------------\n");
System.out.print(generate(System.getProperty("user.dir") + "/src/main/java", new HashSet<>(Arrays.asList(".idea", "target", ".git")), false, false));
/**
* java.github.clyoudu
├── byteformat
│ └── ByteUnitFormat.java
├── consoletable
│ ├── ConsoleTable.java
│ ├── enums
│ │ ├── Align.java
│ │ └── NullPolicy.java
│ ├── table
│ │ ├── Body.java
│ │ ├── Cell.java
│ │ └── Header.java
│ └── util
│ └── PrintUtil.java
└── packagegenerator
└── PackageGenerator.java
------------------------------------------------
java
└── github
└── clyoudu
├── byteformat
├── consoletable
│ ├── enums
│ ├── table
│ └── util
└── packagegenerator
*/