A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 徐彦淏 于 2013-4-18 09:29 编辑

已知一个类,定义如下:
      public class DemoClass {
    public void run(){
      System.out.println("welcome to heima!");
           }   
          }
(1) 写一个Properties格式的配置文件,配置类的完整名称。
(2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。
*/  
import java.io.*;
import java.util.*;
import java.lang.reflect.Method;

public class Test07 {
        public static void main(String[] args) throws Exception {
                Properties prop = new Properties();                          // 利用Properties加载配置文件
                FileInputStream fis = new FileInputStream(new File("path.properties"));// 创建一个读取流
                prop.load(fis);
                fis.close();
                String path = (String) prop.get("className");
                Class<?> clazz = Class.forName(path);
                Object intance = clazz.newInstance();
                Method[] m = clazz.getDeclaredMethods();
                for (Method method : m) {
                        method.invoke(intance, new Object[] {});
                }
        }
}


path.properties文件内容为 className=com.itheima.DemoClass   

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

倒序浏览
真是快晕了。。。
回复 使用道具 举报
你的properties文件放在哪了?如果你src下,那么你的路径就写错了,就应该是 "src/path.properties"

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
搞定了。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马