Test18--1.写一个Properties格式的配置文件,配置类的完整名称。写一个程序,2.读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。
如果有更好的解决方式,你可以发出来提供参考
ps:这种题目写的比较少,个人感觉我代码肯定是可以优化的
- public class Test18 {
- public static void main(String[] args) throws Exception {
- //创建对象
- Properties pp = new Properties();
- //获取方法名
- String method_name = getPro(pp,"Method");
- //获取类名
- String class_name = getPro(pp, "Class");
- //释放资源
- pp.clone();
- //获取字节码对象
- Class clazz = Class.forName(class_name);
- //获取方法对象
- Method method = clazz.getDeclaredMethod(method_name,null );
- //获取构造
- Constructor con = clazz.getConstructor();
- //创建实例
- Object obj = con.newInstance();
- //方法执行
- method.invoke(obj, null);
- }
-
- /*
- * 获取配置
- */
- private static String getPro(Properties pp,String key) throws Exception {
- pp.load(new FileReader("配置.txt"));
- String value = pp.getProperty(key);
- return value;
- }
- /*
- * 设置配置
- */
- private static void setPro(Properties p,String key,String value) throws IOException {
- p.setProperty(key, value);
- p.store(new FileWriter("配置.txt"), null);
- }
- }
复制代码 |