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("文件不存在");
}
}
}
如有不妥,望不吝赐教。
如有不妥,望不吝赐教。
如有不妥,望不吝赐教。