递归打印目录层次(java版)

时间:2023-03-09 03:06:42
递归打印目录层次(java版)
import java.io.File;

public class Test {
/**
*
* @param fileDir 根目录
* @param num 递归层次
*/
private static void consoleFile(String fileDir, int num) {
File file = new File(fileDir);
File[] files = file.listFiles();// 获取目录下的所有文件或文件夹
if (files == null) {// 如果目录为空,直接退出
return;
}
// 遍历,目录下的所有文件
for (File f : files) {
if (f.isDirectory()) {
consoleSplit(f.getAbsolutePath(), num);
consoleFile(f.getAbsolutePath(), num + 1);
} else if (f.isFile()) {
consoleSplit(f.getAbsolutePath(), num);
}
}
} /**
* 按照递归层次打印目录结构
* @param fileName 文件或者目录名
* @param num 递归层次
*/
private static void consoleSplit(String fileName, int num) {
for (int i = 0; i < num; i++) {
System.out.print("|========");
}
System.out.println(fileName);
} public static void main(String[] args) {
consoleFile("E:/", 0);
} }