- 写一个配置文件的内容:className=cn.itcast.heima.DemoClass ;
- //通过类加载器在加载java的class文件的同时将配置文件也加载进去(getResourceAsStream)---->类加载器
- InputStream ips=ReflectHasSet.class.getResourceAsStream("ReflectFile.properties");
- //当配置文件在一个包中的时候使用下面这种方式
- //InputStream ips=ReflectHasSet.class.getResourceAsStream("/ReflectFile/ReflectFile.properties");
- //Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
- Properties porperties=new Properties();
- //使用Properties类的load(InputStream inStream)方法 从输入流中读取属性列表(键和元素对)。
- porperties.load(ips);
- ips.close();//关闭流
- //通过key获取配置文件中的类名
- String className=porperties.getProperty("className");
- //通过反射获来获取对象
- DemoClass dc=(DemoClass)Class.forName(className).newInstance();
- dc.run();
- 以上代码自己并没有运行;但我写的注释你可以很清楚了看出来是什么意思;你只要写个配置文件就可以了,应该不会有问题的直接放到main方法中运行就可以了;要抛异常:throws IOException, InstantiationException, IllegalAccessException
|