java 批量将全路径生成树型结构
时间: 2024-02-01 22:04:47 浏览: 30
你可以使用递归算法来生成树形结构。以下是一个简单的示例代码,可以将给定的文件夹路径转换为树形结构:
```java
import java.io.File;
public class FileTree {
private String path;
public FileTree(String path) {
this.path = path;
}
public void printTree() {
File root = new File(path);
if (!root.exists()) {
System.out.println("The path does not exist!");
return;
}
if (!root.isDirectory()) {
System.out.println("The path is not a directory!");
return;
}
printSubTree(root, "");
}
private void printSubTree(File folder, String indent) {
System.out.println(indent + "+--" + folder.getName());
if (folder.isDirectory()) {
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
printSubTree(file, indent + " ");
} else {
System.out.println(indent + " +--" + file.getName());
}
}
}
}
}
}
```
要使用它,只需创建一个FileTree对象并调用printTree()方法:
```java
FileTree fileTree = new FileTree("C:\\Users\\user\\Documents");
fileTree.printTree();
```
该方法将递归遍历文件夹并输出树形结构:
```
+--Documents
+--GitHub
| +--desktop.ini
| +--README.md
+--My Games
| +--desktop.ini
| +--Rainbow Six - Siege
| +--GameSettings.ini
| +--desktop.ini
+--My Music
+--My Pictures
+--My Videos
+--desktop.ini
+--file.txt
```