当前位置 : 主页 > 编程语言 > java >

java反射一个包中的所有class

来源:互联网 收集:自由互联 发布时间:2021-06-28
方式一 Class clazz = Test.class;ClassLoader loader = clazz.getClassLoader();// 1. 通过classloader载入包路径,得到urlURL url = loader.getResource("com/fkt/web/controller");URI uri = url.toURI();// 2. 通过File获得uri下的所有
方式一
Class clazz = Test.class;
		ClassLoader loader = clazz.getClassLoader();
		// 1. 通过classloader载入包路径,得到url
		URL url = loader.getResource("com/fkt/web/controller");
		URI uri = url.toURI();
		// 2. 通过File获得uri下的所有文件
		File file = new File(uri);
		File[] files = file.listFiles();
		for (File f : files) {
			String fName = f.getName();
			if (!fName.endsWith(".class")) {
				continue;
			}
			fName = fName.substring(0, fName.length() - 6);
			String perfix = "com.fkt.web.controller.";
			String allName = perfix + fName;
			// 3. 通过反射加载类
			clazz = Class.forName(allName);
			System.out.println(clazz);
		}
网友评论