1.什么是递归?
递归,就是在运行的过程中调用自己。
2.运用递归需要满足的条件?
- 子问题须与原始问题为同样的事,且更为简单;
- 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
3.递归进行文件目录的输出
package com.xmx;
import java.io.File;
/**
* @Auther: 郑兴源
* @DateTime : 2021-12-16 上午 09:21
* @descriptoin:
*/
public class TestClassFile {
public static void main(String[] args) {
//文件目录的路径
long startTime = System.currentTimeMillis(); //获取开始时间
//测试的文件夹路径
File file = new File("E:\\NewDream\\javaWeb");
/*调用方法自己调用自己*/
t1(file, 1);
long endTime = System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间
}
public static void t1(File file, int lavel) {
//定义文件类型的数组
File[] files = file.listFiles();
//循环改文件夹
for (File f : files) {
String s = "";
for (int i = 0; i < lavel; i++) {
//空格 控制文件夹的层次感
s += " ";
}
//判断是不是文件
if (f.isFile()) {
System.out.println(s + f.getName());
} else {
//否则是文件夹
System.out.println(s + f.getName());
t1(f, lavel + 2);
}
}
}
}