Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例

时间:2022-10-28 06:31:21

1. 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例:

 分析:
   A:封装目录
   B:获取该目录下的所有文件和文件夹的File数组
   C:遍历这个File数组,得到每一个File对象的绝对路径
   D:判断该File对象是文件还是文件夹

2. 代码实现:

 package com.himi.diguidemo;

 import java.io.File;

 /**
* 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例
* 分析:
* A:封装目录
* B:获取该目录下的所有文件和文件夹的File数组
* C:遍历这个File数组,得到每一个File对象的绝对路径
* D:判断该File对象是文件还是文件夹
* 是:回到B
* 否:继续判断是否以.java结尾
* 是:就输出该文件的绝对路径
* 否:不搭理他
*
*/
public class DiGuiDemo3 { public static void main(String[] args) {
//封装目录
String path = "D:\\software\\Android\\SDT\\android-sdk-windows\\sources\\android-16\\java";
File file = new File(path); // //获取该目录下的所有文件和文件夹的File数组
// File[] files = file.listFiles();
//
// //遍历这个File数组,得到每一个File对象的绝对路径
// for(File f:files) {
// if(f.isFile()) {
// if(f.getName().endsWith(".java")) {
// String Abs_path = f.getAbsolutePath();
// System.out.println(f.getName()+"的绝对路径是:"+Abs_path);
// }
// }
// } getAllJavaFilePaths(file); } private static void getAllJavaFilePaths(File srcFolder) {
//获取该目录下的所有文件和文件夹的File数组
File[] files = srcFolder.listFiles();
//遍历这个File数组,得到每一个File对象的绝对路径
for(File f:files) {
if(f.isDirectory()) {
getAllJavaFilePaths(f);
} else {
if(f.getName().endsWith(".java")) {
String Abs_path = f.getAbsolutePath();
System.out.println(f.getName()+"的绝对路径是:"+Abs_path);
}
}
}
} }

输出结果:

Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例