java实现多层级目录树
时间: 2023-09-13 08:05:59 浏览: 42
以下是一个简单的Java代码实现多层级目录树的例子:
```java
import java.io.File;
public class DirectoryTree {
public static void main(String[] args) {
String path = "/Users/username/Documents"; // 设置根目录路径
File root = new File(path); // 创建根目录文件对象
printTree(root, ""); // 打印树形目录结构
}
public static void printTree(File file, String indent) {
if (file.isDirectory()) { // 判断是否为目录
System.out.println(indent + "+-- " + file.getName()); // 打印目录名
File[] files = file.listFiles(); // 获取目录下所有子文件和子目录
for (int i = 0; i < files.length; i++) {
if (i == files.length - 1) { // 判断是否为最后一个文件或目录
printTree(files[i], indent + " "); // 递归打印子目录
} else {
printTree(files[i], indent + "| "); // 递归打印子目录
}
}
} else { // 文件直接打印文件名
System.out.println(indent + "+-- " + file.getName());
}
}
}
```
该例子中,我们首先定义了一个根目录文件对象,然后调用`printTree()`方法来打印目录树形结构。`printTree()`方法接收两个参数,第一个参数是当前目录或文件对象,第二个参数是当前目录或文件的缩进前缀。对于目录,我们先打印目录名,并递归打印所有子目录和子文件。对于文件,我们直接打印文件名。在递归打印子目录时,我们根据是否为最后一个文件或目录来决定缩进前缀的格式。我们使用了`File`类的`listFiles()`方法来获取目录下的所有子文件和子目录。