Java控制台打印出输入路径下的目录层级结构

代码如下:

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");
	}  */
}

 

转载于:https://my.oschina.net/u/2411067/blog/724253

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值