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 }