java 利用递归打印文件

java利用递归打印文件

代码贴在下方



import java.io.File;
import java.util.Scanner;

/**
 * 递归打印文件
 * @author 这知识它不进脑子啊
 *
 */
public class PrintFile {
	public static void main(String[] args) {
		//从控制台输入
		Scanner scanner = new Scanner(System.in);
		// 文件的路径
		String fileName = null;
		//接收到回车键按下之前的所有字符
		if(scanner.hasNextLine()) {
			//把接收到的 赋值给fileName
			fileName = scanner.nextLine();
			// new 一个file对象  把fileName(文件路径)放进去
			File file = new File(fileName);
			//调用递归打印文件目录的方法
			printFile(file,0);
		}
	}
	
	/**
	 *  递归打印文件目录
	 * @param file  文件路径
	 * @param len 控制文件的层次
	 */
	public static void printFile(File file, int len) {
		// 首先判断输入的文件或目录是否存在。 
		if(file.exists()) {
			//循环打印————
			for(int i = 0; i < len;i++) {
				System.out.print("————");
			}
			//输出文件名或目录名
			System.out.println(file.getName());
			//判断file是不是目录
			if(file.isDirectory()) {
				// 获取目录里面的子文件或子文件夹
				File[] listFiles = file.listFiles();
				//循环打印目录里面的文件
				for(File f:listFiles) {
					//调用自身
					printFile(f,len+1);
				}
			}
		}else {
			System.out.println("文件不存在");
		}
	}
}

如有不妥,望不吝赐教。
如有不妥,望不吝赐教。
如有不妥,望不吝赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值