java 读取特定目录上所有java文件的名称
java 读取特定目录下所有java文件的名称
/* * Administrator * 2012-5-10 */ package com.test; import java.io.File; import java.util.ArrayList; import java.util.List; public class FileTest { /** * 获取当前目录下所有java文件 * @param directory * @return */ public List<String> listFilesByName(String directory) { List<String> files = new ArrayList<String>(); File file = new File(directory); File[] childrenFiles = file.listFiles(); for (int i = 0; i < childrenFiles.length; i++) { File childFile = childrenFiles[i]; if (childFile.isDirectory()) { List<String> grandsons = listFilesByName(childFile.getPath()); for(int j=0; j<grandsons.size(); j++) { if(grandsons.get(j).endsWith(".java")){ files.add(grandsons.get(j)); } } } else if(childFile.isFile() && childFile.getPath().endsWith(".java")){ files.add(childFile.getPath()); } } return files; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //以当前路径来创建一个File对象 File file = new File(""); //获取绝对路径 String rootPath = file.getAbsolutePath(); System.out.println(rootPath); //列出所有磁盘的根路径 File[] roots = File.listRoots(); for (File root : roots) { System.out.println(root); } FileTest te = new FileTest(); List<String> tmp = new ArrayList<String>(); tmp = te.listFilesByName(rootPath); for(String p : tmp){ System.out.println(p); } } }