在開發過程中,我們經常會遇到讀取配置文件的情況,對于配置文件的讀取,根據環境等情況又各有不同,一般情況下,如果從非jar包中使用相對/路徑,比較簡單,就不在累述了,而在很多
情況下,我們需要把我們的class打包成jar文件,進行使用,這時就會發現,我們先前如果沒有考慮到這些,可能就行不通了,那么,該如何解決呢?方法如下
:
有如下路徑 :
Web-info--|-->classes--->conf-->config.properties
|-->lib
此時加入我們需要讀取config.properties,在不使用jar包時,使用如下方式讀取,不失為一種方法:
File f = new File(this.getClass().getResource("/").getPath());
f = new File(f.getPath() + "/conf/config.properties");
注:f.getPath()即為當class所在的絕對路徑。如:c:\javasrc\web-inf\classes
然后,對文件對象進行處理,就能把配置信息讀取出來了,但是加入如上class被打包成jar文件,那么,在程序執行到這里時,就會無法找到配置文件,那么該如何處理呢?
處理方法如下:
String s_config="conf/config.properties";
InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
if( in == null ){
System.out.println( " 打開 " + s_config + "失敗!" );
}else
{
Properties properties = new Properties();
properties.load(in);
//
//接下來就可以通過properties.getProperty(String obj)方法對進行配置信息讀取了
}
本文來自CSDN博客,轉自:http://blog.csdn.net/wjmmml/archive/2004/09/27/118404.aspx
posted on 2011-04-22 20:46
wawlian 閱讀(285)
評論(0) 編輯 收藏 所屬分類:
Java