黑马程序员技术交流社区

标题: 在反射中关于配置文件的存放位置 [打印本页]

作者: 黄昆    时间: 2012-7-18 11:35
标题: 在反射中关于配置文件的存放位置
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());
}
}
作者: 赵倩倩    时间: 2012-7-18 11:48
1、路径不是不变的 所以路径要进行计算 getRealPath()
2、配置文件的加载通常使用类加载器如下图这样
                InputStream ips=ReflectTest2.class.getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");
作者: 黄昆    时间: 2012-7-18 12:03
赵倩倩 发表于 2012-7-18 11:48
1、路径不是不变的 所以路径要进行计算 getRealPath()
2、配置文件的加载通常使用类加载器如下图这样
         ...

用getClassLoader().getResourceAsStream()这种我明白但是
用getRealPath()方法加载配置文件的过程是什么样的呀?
作者: 赵倩倩    时间: 2012-7-18 12:22
黄昆 发表于 2012-7-18 12:03
用getClassLoader().getResourceAsStream()这种我明白但是
用getRealPath()方法加载配置文件的过程是什么 ...

这个我也不知道  我在看百科http://baike.baidu.com/view/1420114.htm




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2