文件递归的思想:
首先传入一个文件
判断这个文件是否存在
判断这个文件是否为空
判断这个文件是否是个文件夹 (不是文件就判断是否是txt结尾 是就打印、不是不打印)
是个文件夹就打开这个文件夹并遍历这个打开的文件数组 继续调用 方法 递归 进行判断
例;
package com.lx;
import java.io.File;
/**
*
* 文件递归
*
* @author Administrator
*
*/
public class TestA {
public static void main(String[] args) throws Exception {
dg(new File("E:/abc"));
}
// 递归输出abc中所有 txt结尾的文件
public static void dg(File f) {
// 判断 是否是存在的 存在就返回true
if (f.exists()) {
// 判断是否为空 空就返回true 所以不是空 就执行以下
if (!f.equals(null)) {
// 判断是否文件夹 是文件夹 就打开 不是文件就输出 它的路径名
if (f.isDirectory()) {
// listFiles返回所有的 文件
File[] lf = f.listFiles();
// for each 遍历
for (File k : lf) {
// 重新带入递归
dg(k);
}
} else {
if (f.getName().endsWith(".txt")) {
// System.out.println(f.toString());
// 得到它的相对路径名
System.out.println(f.getAbsolutePath());
}
}
} else {
System.out.println("为空");
}
} else {
System.out.println("不存在");
}
}
}