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 }