递归实现列出当前工程下所有.Java文件

 1 package com.lanxi.demo2_3;
 2 
 3 import java.io.File;
 4 import java.util.ArrayList;
 5 import java.util.List;
 6 /**
 7  * 递归实现列出当前工程下所有.Java文件
 8  * @author Administrator
 9  *
10  */
11 public class Test1 {
12     public static void main(String[] args) {
13         File file=new File("D:/a");
14         read(file);
15     }
16 
17     public static File read(File file) {
18         List<File> listf = new ArrayList();
19         File[] files = file.listFiles();
20         if (files != null) {
21             for (File fi : files) {
22                 if(file.exists()){
23                     //将目录添加进集合
24                     listf.add(read(fi));
25                     //遍历目录集合
26                     for(File list:listf){
27                         //如果包含“.java”文件,则输出该路径
28                         if(list.toString().endsWith(".java")){
29                             System.out.println(list);
30                         }
31                     }
32                 }else{    
33                     //将文件添加进集合
34                     listf.add(fi);
35                     //遍历文件
36                     for(File list:listf){
37                         //如果文件后缀为“.java”,则输出文件所在路径
38                         if(list.toString().endsWith(".java")){
39                             System.out.println(list);
40                         }
41                     }
42                 }
43             }
44         }
45         return file;
46     }
47 }
原文地址:https://www.cnblogs.com/www-x/p/8728500.html