电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2025年黑马程序员工具类获取指定包名下的所有类

2025年黑马程序员工具类获取指定包名下的所有类_第1页
1/9
2025年黑马程序员工具类获取指定包名下的所有类_第2页
2/9
2025年黑马程序员工具类获取指定包名下的所有类_第3页
3/9
分享一种获取指定包名下所有类旳工具类,代码如下1. import java.io.File;2. import java.io.FileFilter;3. import java.lang.annotation.Annotation;4. import java.net.JarURLConnection;5. import java.net.URL;6. import java.util.ArrayList;7. import java.util.Enumeration;8. import java.util.List;9. import java.util.jar.JarEntry;10. import java.util.jar.JarFile;11.12. public class ClassUtil {13. // 获取指定包名下旳所有类14. public static List> getClassList(String packageName, boolean isRecursive) {15. List> classList = new ArrayList>();16. try {17. Enumeration urls = Thread.currentThread().getContextClassLoader().getResources(packageName.replaceAll("\\.", "/"));18. while (urls.hasMoreElements()) {19. URL url = urls.nextElement();20. if (url != null) {21. String protocol = url.getProtocol();22. if (protocol.equals("file")) {23. String packagePath = url.getPath();24. addClass(classList, packagePath, packageName, isRecursive);25. } else if (protocol.equals("jar")) {26. JarURLConnection jarURLConnection = (JarURLConnection) url.openConnection();27. JarFile jarFile = jarURLConnection.getJarFile();28. Enumeration jarEntries = jarFile.entries();29. while (jarEntries.hasMoreElements()) {30. JarEntry jarEntry = jarEntries.nextElement();31. String jarEntryName = jarEntry.getName();32. if (jarEntryName.endsWith(".class")) {33. String className = jarEntryName.substring(0, jarEntryName.lastIndexOf(".")).replaceAll("/", ".");34. if (isRecursive || className.substring(0, className.lastIndexOf(".")).equals(packageName)) {35. classList.add(Class.forName(className));36. }37. }38. }39. }40. }41. }42. } catch (Exception e) {43. e.printStackTrace();44. }45. return classList;46. }47.48. // 获取指定包名下旳所有类(可根据注解进行过滤)49. public static List> getClassListByAnnotation(String packageName, Class<...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

2025年黑马程序员工具类获取指定包名下的所有类

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部