概念:函数自己调用自己的过程,直到满足既定条件退出调用。
要求:递归出D盘内所有以【.log】结尾的文件,并打印输出到控制台。
说明:D盘中有A文件夹,A文件夹中有B文件夹和a.log文件,B文件夹中有6.log文件。
import java.io.File;
import java.util.Arrays;
public class digui_file {
public static void main(String[] args) {
File x = new File("D:/A");
if(x.isDirectory()) {
getAll(x);
} else {
System.out.println(x.getName()+"不是目录,没有子文件");
}
}
public static void getAll(File dir) {
File[] listFiles = dir.listFiles();
//System.out.println(Arrays.toString(listFiles));
for (File file : listFiles) {
//System.out.println(file);
if(file.isFile()) {
//System.out.println(file.getAbsolutePath()); //打印文件绝对路径
if(file.getName().endsWith(".log")) {
//file.delete(); //删除或查看等一系列操作
System.out.println("迭代查找:"+file.getName());
}
} else {
getAll(file);
}}}
}
Console:
迭代查找:a.log
迭代查找:6.log