import java.io.File;
import java.util.MissingFormatArgumentException;//这个异常类不用管 随便抛出就行了
public class FindFile {
public static void main(String[] args) {
FindFile t = new FindFile();
t.findFile(new File("D:\\Program Files"), ".txt");
}
// 定义一个方法来接受需要查找的路径(File)
public void findFile(File file, String endWith) {
if (file == null) {// 判断file的值是否不为null
throw new IndexOutOfBoundsException("文件夹值为null");
}
if (!file.exists()) {// 判断file地址是否存在
throw new MissingFormatArgumentException("路径名不存在");
}
// 获取此地址中的所有文件以及文件夹(File[] list)
File[] listFiles = file.listFiles();// 获取此地址中的所有文件以及文件夹(File[] list)
for (File file1 : listFiles) {// 遍历数组
// 判断当前的File对象是否为文件夹
if (file1.isDirectory()) {
findFile(file1, endWith);
} else {
// 如果不是文件夹
// 判断文件的名字是否为.txt的后缀
// 如果是的则输出此文件
String name = file1.getName();
if (name.endsWith(endWith)){
System.out.println(file1.getName());
}
}
}
}
}