经常写博客的同学总是有这样的需求,我需要展现一个项目的目录结构(见下图),以解释其项目中各个目录及文件代表的含义。那该怎么办?啥,手写?不可能的,程序员是不可能手写这种的。

github中的项目目录结构生成_java

这里介绍一个​​windows​​​ 的 ​​tree​​ 命令,没错就是它。怎么用?

C:\Users\fei.chen\Desktop>help tree
以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。

C:\Users\fei.chen\Desktop>tree E:\kxtx-oms\kxtx-msd
卷 java 的文件夹 PATH 列表
卷序列号为 86EF-6313
E:\KXTX-OMS\KXTX-MSD
├─msd-business
│ ├─src
│ │ ├─main
│ │ │ ├─java
│ │ │ │ └─com
│ │ │ │ └─kxtx
│ │ │ │ └─msd
│ │ │ │ ├─constants
│ │ │ │ │ └─status
│ │ │ │ ├─controller
│ │ │ │ ├─core
│ │ │ │ ├─dto
│ │ │ │ ├─model
│ │ │ │ │ ├─esb
│ │ │ │ │ └─fssinfo
│ │ │ │ ├─service
│ │ │ │ │ ├─impl
│ │ │ │ │ ├─rpc
│ │ │ │ │ └─support
│ │ │ │ ├─sysconfig
│ │ │ │ └─utils
│ │ │ └─resources
│ │ │ ├─config
│ │ │ │ └─cache

C:\Users\fei.chen\Desktop>tree E:\kxtx-oms\kxtx-msd\msd-contract /f
卷 java 的文件夹 PATH 列表
卷序列号为 86EF-6313
E:\KXTX-OMS\KXTX-MSD\MSD-CONTRACT
│ msd-contract.iml
│ pom.xml
│ README.md

└─src
└─main
├─java
│ └─com
│ └─kxtx
│ └─msd
│ ├─contract
│ │ BasDiscountContract.java
│ │ DiscountTradeContract.java
│ │
│ └─dto
│ │ BaseDTO.java

到这里就基本上结束了,看它命令的API是非常简单的,也不是完美的!主要是它不能忽略某些目录(比如有些项目设置类目录是不需要的),不能进行排序的(默认按名称排序)。