package anli; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Method; import java.util.Properties; //框架类 public class ReflectTest { public static void main(String[] args) throws Exception { //1.创建集合 Properties pro=new Properties(); //2.加载类 ClassLoader cl=ReflectTest.class.getClassLoader(); //3.流引入 InputStream is=cl.getResourceAsStream("pro.properties"); //4引入配置文件 pro.load(is); String className=pro.getProperty("className"); String methodName=pro.getProperty("methodName"); Class cls=Class.forName(className); //6.获取对象 Object o=cls.newInstance(); Method m=cls.getMethod(methodName);//7.获取方法 m.invoke(o); } }
pro.load(is)出现空指针异常的原因是配置文件必须放在src目录之下,不能放在下属的包中。