java實現遍歷某個包下的Class,注意不是自己寫的包。是Java自身的吧。如:java.io包下的所有Class和interface
簡單說一下方法(假設你要找java.io包下的class)
String javaHome = System.getProperty("java.home");
JarFile jf = new JarFile(javaHome + "/jre/lib/rt.jar");
jf.stream().filter(je -> Pattern.compile("java/io/[A-Z]+[a-z].class").matcher(je.getName()).matches()).foreach(je -> {
... // Add your code here.
});
我這裡用了Java 8的lambda語法;如果你不熟悉,基本方法就是便利rt.jar,找出所有的java/io/xxx.class