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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄昆 中级黑马   /  2012-7-18 11:35  /  1456 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Demo{
public static void main(String[] args)throws Exception {
  
  InputStream fis = new FileInputStream("D:\\info.Properties"); //在这里怎么使用绝对路径呀?张老师讲的我有点不明白,望高手指点!
              //如果使用者要是将配置文件放在E盘那么程序不就挂了吗?这个问题又该怎么解决呢?

  Properties pro = new Properties();
  pro.load(fis);
  fis.close();//防止内存泄露。
  String value=pro.getProperty("name");
  Method run=Class.forName(value).getMethod("run", null);
  run.invoke(Class.forName(value).newInstance());
}
}

评分

参与人数 1技术分 +1 收起 理由
蒋映辉 + 1

查看全部评分

3 个回复

倒序浏览
1、路径不是不变的 所以路径要进行计算 getRealPath()
2、配置文件的加载通常使用类加载器如下图这样
                InputStream ips=ReflectTest2.class.getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");
回复 使用道具 举报
赵倩倩 发表于 2012-7-18 11:48
1、路径不是不变的 所以路径要进行计算 getRealPath()
2、配置文件的加载通常使用类加载器如下图这样
         ...

用getClassLoader().getResourceAsStream()这种我明白但是
用getRealPath()方法加载配置文件的过程是什么样的呀?
回复 使用道具 举报
黄昆 发表于 2012-7-18 12:03
用getClassLoader().getResourceAsStream()这种我明白但是
用getRealPath()方法加载配置文件的过程是什么 ...

这个我也不知道  我在看百科http://baike.baidu.com/view/1420114.htm
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马