递归打印File文件夹目录信息–代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.bhy.test_file;

import java.io.File;

/**
* 输出文件夹及其文件结构目录信息
* @author bhy
*
*/
public class TestListFile {

public static void main(String[] args) {

File f = new File("F:/java文件");
System.out.println(">"+f.getName());
getFileName(f,1);
}

/**
* 递归输出文件信息
* @param f--File对象
* @param n--文件层次记录数
*/
public static void getFileName(File f,int n) {
int m = n;
File[] file = f.listFiles(); //获取当前目录的子目录对象的数组
for (File file2 : file) { //遍历当前File数组(父目录的)
for (int i = 0; i <= n; i++) { //打印当前层次的对应 '>' 表示
System.out.print(">");
}
System.out.println(file2.getName());
if(file2.isDirectory()) { //如果file2是一个文件夹则递归遍历子目录,否则结束当前目录遍历。
getFileName(file2,m+1);
}
}
}
}