利用File类中的方法打印目录层级结构
第一步:首先了解File相关的使用方法;
File类中提供了方法:
- 判断是否是目录:public boolean isDirectory()
- 列出当前目录下所有文件(文件和目录):public File[ ] listFiles()
- 获取当前文件名称:public String getName()
第二步:采用递归的思想,因为listFiles()方法只能当前目录下的第一级信息,比如:当前目录是“\test\java\abc
”,此时该方法只列举出“\test\java
”。
所以思路就是:
- 列举出所有文件(文件和目录);
- 如果是文件,直接打印;如果是目录则递归调用。
第三步:为了使层级更加清晰,定义一个lever
变量,随着递归,每次+1.
具体实现如下:
public class PrintFile {
public static void main(String[] args) {
String directory = "D:"+File.