代码如下:
package practice;
import java.io.File;
public class ListCatalogue {
/**
* 构造函数,实例化时传参即可调用,传入参数当前路径
* @param firstPath 当前路径
*/
public ListCatalogue(String firstPath){
getCatalogue(firstPath,0);
}
/**
* 递归方式打印出目录层级结构
* @param path 传入路径
* @param lever 目录层级
*/
public void getCatalogue(String path,int lever){
//用 -- 区分层级
for(int i=0;i<lever;i++){
System.out.print("-- ");
}
File file = new File(path);
//打印当前层级文件/文件名
System.out.println(file.getName());
//若当前层为目录,继续向下一层递归
if(file.isDirectory()){
File[] files = file.listFiles();
for(File f : files){
String sonPath = f.getPath();
//继续递归打印
getCatalogue(sonPath,lever+1);
}
}
}
/*测试函数
public static void main(String[] args) {
// TODO Auto-generated method stub
new ListCatalogue("E:/JavaWebDoc");
} */
}