java 反射获取所有类文件

来源:互联网 发布:qq浏览器链接不了网络 编辑:程序博客网 时间:2024/06/01 16:09
public static void main(String[] args) {        String packageName = "";        List<String> classNames = getClassName(packageName);        for (String className : classNames) {//            System.out.println(className);        }    }    public static List<String> getClassName(String packageName) {        String filePath = ClassLoader.getSystemResource("").getPath() + packageName.replace(".", "\\");        List<String> fileNames = getClassName(filePath, null);        return fileNames;    }    private static List<String> getClassName(String filePath, List<String> className) {        List<String> myClassName = new ArrayList<String>();        File file = new File(filePath);        File[] childFiles = file.listFiles();        for (File childFile : childFiles) {            if (childFile.isDirectory()) {                myClassName.addAll(getClassName(childFile.getPath(), myClassName));            } else {                String childFilePath = childFile.getPath();                childFilePath = childFilePath.substring(childFilePath.indexOf("\\classes") + 9, childFilePath.lastIndexOf("."));                childFilePath = childFilePath.replace("\\", ".");                childFilePath = childFilePath.substring(30);                checkIsAction(childFilePath);                myClassName.add(childFilePath);            }        }        return myClassName;    }

0 0
原创粉丝点击