看到很多用getResourcesAsStream()来读取.properties文件,但是对.properties文件的路径有要求,至少要和包的根目录在同一目录,对于这点,我也是迷糊了好久,就是没有想通,咋个getResourcesAsStream("/var/config.properties") 会返回null,明明文件是在的,就是因为这里的“根目录” 和通常讲的根目录还不一样。
然而,一般,我喜欢把web的配置文件放到WEB-INF里,和web.xml 文件放在一起,如果用getResourcesAsStream()肯定是不行了。
仔细想了一下,找到一个变通的方法:
try{
String url = this.getClass().getResource("").getPath().replaceAll("%20", " ");
String path = url.substring(0, url.indexOf("WEB-INF")) + "WEB-INF/config.properties";
Properties config = new Properties();
config.load(new FileInputStream(path));
System.out.println(config.getProperty("dbDriver"));
}
catch(Exception e){
e.printStackTrace();
}
这样,就可以把配置文件放到任意位置了~~~~
posted on 2006-12-22 18:50
xiaosilent 阅读(3581)
评论(7) 编辑 收藏 所属分类:
Java相关