扫描目录下所有文件

来源:互联网 发布:js正则test 编辑:程序博客网 时间:2024/05/17 23:08
import java.io.File;import java.net.URISyntaxException;import java.net.URL;import java.util.ArrayList;import java.util.List;public abstract class Scan {public static List<String> getClassName(String packageName) {List<String> classNames = new ArrayList<String>();ClassLoader loader = Thread.currentThread().getContextClassLoader();try {//正则表达式表示匹配所有"."符号String path = packageName.replaceAll("\\.", "/");URL url = loader.getResource(path);File urlFile = new File(url.toURI());File[] files = urlFile.listFiles();for (File file : files){getClassName(packageName, file, classNames);}} catch (URISyntaxException e) {e.printStackTrace();}return classNames;}private static void getClassName(String packageName, File file, List<String> list) {if (file.isFile()) {//把扩展名给去掉list.add(packageName + "."+ file.getName().replace(".class", ""));} else {File[] files = file.listFiles();String tmPackageName = packageName + "." + file.getName();for (File f : files) {//使用递归getClassName(tmPackageName, f, list);}}}public static void main(String[] args) {List<String> list = Scan.getClassName("test.springTimer");for (String name : list) {System.out.println(name);}}}

原创粉丝点击