Java递归方法实现文件夹树状结构展示
下面是一个使用递归方法以缩进方式展示特定文件夹及其子文件夹的Java代码示例:
import java.io.File;
public class FileTree {
public static void main(String[] args) {
String folderPath = 'C:\path\to\folder'; // 指定文件夹路径
File folder = new File(folderPath);
displayFileTree(folder, 0);
}
public static void displayFileTree(File folder, int indent) {
if (folder.isDirectory()) {
// 打印文件夹名字,并进行缩进
System.out.println(getIndentString(indent) + folder.getName());
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
displayFileTree(file, indent + 1); // 递归调用以展示子文件夹
}
}
} else {
// 打印文件名字,并进行缩进
System.out.println(getIndentString(indent) + folder.getName());
}
}
public static String getIndentString(int indent) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < indent; i++) {
sb.append('| '); // 每次缩进4个空格
}
return sb.toString();
}
}
在这个示例中,我们使用displayFileTree方法来展示文件夹及其子文件夹的树状结构。该方法接受两个参数:要展示的文件夹和缩进级别。如果文件夹是一个目录,它将打印文件夹的名称,并递归调用displayFileTree方法来展示子文件夹。如果文件夹是一个文件,它将打印文件的名称。getIndentString方法用于生成缩进字符串,它根据缩进级别返回相应数量的空格。
你可以将folderPath变量设置为你想要展示的文件夹的路径,并运行该程序来查看结果。
原文地址: http://www.cveoy.top/t/topic/pjFY 著作权归作者所有。请勿转载和采集!