標籤:
java讀取properties檔案
網路中常見的讀取property檔案的六種方法
如果設定檔在包中,要加入設定檔的路徑,一般是在classpath下依次尋找,如conf /crm/db.properties,預設路徑在classpath下,如果設定檔就在classpath下,沒有放在包中,就直接寫檔案名稱。
1。使用java.util.Properties類的load()方法
樣本: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);
2。使用java.util.ResourceBundle類的getBundle()方法
樣本: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());
3。使用java.util.PropertyResourceBundle類的建構函式
樣本: InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);
4。使用class變數的getResourceAsStream()方法
樣本: InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);
5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
樣本: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in); //如果設定檔在包中,要加入設定檔的路徑,一般是在classpath下依次尋找。如conf/crm/db.properties
6。使用java.lang.ClassLoader類的getSystemResourceAsStream()靜態方法
樣本: InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);
補充
Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
樣本:InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);
實際使用中最多的還是class.getResourceAsStream(name)
在使用時,最好使用指定類名,或直接使用Object
Object.class.getResourceAsStream("path")
參考:http://lavasoft.blog.51cto.com/62575/62174;http://blog.csdn.net/xue_feitian/article/details/6750618
java讀取properties檔案