看到很多用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 閱讀(3590)
評論(7) 編輯 收藏 所屬分類:
Java相關