1. 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例:
分析:
A:封装目录
B:获取该目录下的所有文件和文件夹的File数组
C:遍历这个File数组,得到每一个File对象的绝对路径
D:判断该File对象是文件还是文件夹
2. 代码实现:
1 package com.himi.diguidemo; 2 3 import java.io.File; 4 5 /** 6 * 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例 7 * 分析: 8 * A:封装目录 9 * B:获取该目录下的所有文件和文件夹的File数组 10 * C:遍历这个File数组,得到每一个File对象的绝对路径 11 * D:判断该File对象是文件还是文件夹 12 * 是:回到B 13 * 否:继续判断是否以.java结尾 14 * 是:就输出该文件的绝对路径 15 * 否:不搭理他 16 * 17 */ 18 public class DiGuiDemo3 { 19 20 public static void main(String[] args) { 21 //封装目录 22 String path = "D:\software\Android\SDT\android-sdk-windows\sources\android-16\java"; 23 File file = new File(path); 24 25 // //获取该目录下的所有文件和文件夹的File数组 26 // File[] files = file.listFiles(); 27 // 28 // //遍历这个File数组,得到每一个File对象的绝对路径 29 // for(File f:files) { 30 // if(f.isFile()) { 31 // if(f.getName().endsWith(".java")) { 32 // String Abs_path = f.getAbsolutePath(); 33 // System.out.println(f.getName()+"的绝对路径是:"+Abs_path); 34 // } 35 // } 36 // } 37 38 getAllJavaFilePaths(file); 39 40 41 42 } 43 44 private static void getAllJavaFilePaths(File srcFolder) { 45 //获取该目录下的所有文件和文件夹的File数组 46 File[] files = srcFolder.listFiles(); 47 //遍历这个File数组,得到每一个File对象的绝对路径 48 for(File f:files) { 49 if(f.isDirectory()) { 50 getAllJavaFilePaths(f); 51 } else { 52 if(f.getName().endsWith(".java")) { 53 String Abs_path = f.getAbsolutePath(); 54 System.out.println(f.getName()+"的绝对路径是:"+Abs_path); 55 } 56 } 57 } 58 } 59 60 61 62 }
输出结果: