【精简】 Java递归获得指定包下全部类的全类名
2023-12-28 10:30:41
一、获得全类名
public static List<String> getClassPaths(String packageName) {
List<String> classPaths = new ArrayList<>();
String packagePath = packageName.replace(".", "/");
File packageDir = new File(Thread.currentThread().getContextClassLoader().getResource(packagePath).getPath());
File[] files = packageDir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
classPaths.addAll(getClassPaths(packageName + "." + file.getName()));
} else if (file.isFile()) {
String name = packageName + "." + file.getName();
classPaths.add(name.substring(0, name.length()-6));
}
}
}
return classPaths;
}
二、该方法的使用示例
List<String> classPaths = getClassPaths("com.interfaces.dto");
返回值为 com.interfaces.dto.MyClass 这种全类名格式的字符串
文章来源:https://blog.csdn.net/z2742431760/article/details/135260184
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!