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

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 }

输出结果:

原文地址:https://www.cnblogs.com/hebao0514/p/4850310.html