在很多项目的开发文档上面我们都能看到很漂亮的目录树。
如果纯手敲的话那得需要很久,可能还不标准。
最近还是在写机器人框架,涉及到插件开发部分的说明,需要向用户展示插件的结构。
手敲目录树太麻烦了,于是我搞了个工具类:
package com.chaizhou;
/**
* @Author zF.
* @ClassName ProjectStructureGenerator.java
* @ProjectName NewBot-FrameWork
* @Description 项目结构生成器
*/
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class ProjectStructureGenerator {
public static void main(String[] args) {
File rootDir = new File("src");
try {
FileWriter writer = new FileWriter("project_structure.txt");
generateProjectStructure(rootDir, writer, 0);
writer.close();
System.out.println("Project structure file created successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void generateProjectStructure(File dir, FileWriter writer, int level) throws IOException {
if (dir.isDirectory()) {
File[] files = dir.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
File file = files[i];
String prefix = (i == files.length - 1) ? "└── " : "├── ";
writer.write(getIndentation(level) + prefix + file.getName() + "\n");
if (file.isDirectory()) {
generateProjectStructure(file, writer, level + 1);
}
}
}
}
}
private static String getIndentation(int level) {
StringBuilder indentation = new StringBuilder();
for (int i = 0; i < level; i++) {
indentation.append(" ");
}
return indentation.toString();
}
}
使用方法,直接把上面的工具类放在项目的java
文件夹下面,然后运行main方法即可。
文件会生成在项目根目录下,效果:
└── main
├── java
└── com
└── chaizhou
├── event
├── EventAbstract.java
└── RequestResultVO.java
├── plugin
├── PluginStatus.java
└── QueryPhonePlugin.java
└── resources
怎么样?是不是很标准?