更新時間:2020-08-25 16:22:37 來源:動力節點 瀏覽5343次
1.Properties類與Properties配置文件
Properties類繼承自Hashtable類并且實現了Map接口,也是使用一種鍵值對的形式來保存屬性集。不過Properties有特殊的地方,就是它的鍵和值都是字符串類型。
2.Properties中的主要方法
(1)load(InputStream inStream)
這個方法可以從.properties屬性文件對應的文件輸入流中,加載屬性列表到Properties類對象。如下面的代碼:
Properties?pro?=?new?Properties();
FileInputStream?in?=?new?FileInputStream("a.properties");
pro.load(in);
in.close();
(2)store(OutputStream out,String comments)
這個方法將Properties類對象的屬性列表保存到輸出流中。如下面的代碼:
FileOutputStream?oFile?=?new?FileOutputStream(file,?"a.properties");
pro.store(oFile,?"Comment");
oFile.close();
如果comments不為空,保存后的屬性文件第一行會是#comments,表示注釋信息;如果為空則沒有注釋信息。
注釋信息后面是屬性文件的當前保存時間信息。
(3)getProperty/setProperty
這兩個方法是分別是獲取和設置屬性信息。
3.代碼實例
屬性文件a.properties如下:
name=root
pass=liu
key=value
讀取a.properties屬性列表,與生成屬性文件b.properties。代碼如下:
import?java.io.BufferedInputStream;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.InputStream;
import?java.util.Iterator;
import?java.util.Properties;
public?class?PropertyTest?{
????public?static?void?main(String[]?args)?{
????????Properties?prop?=?new?Properties();
????????try{
????????????//讀取屬性文件a.properties
????????????InputStream?in?=?new?BufferedInputStream?(new?FileInputStream("a.properties"));
????????????prop.load(in);?????///加載屬性列表
????????????Iterator?it=prop.stringPropertyNames().iterator();
????????????while(it.hasNext()){
????????????????String?key=it.next();
????????????????System.out.println(key+":"+prop.getProperty(key));
????????????}
????????????in.close();
????????????///保存屬性到b.properties文件
????????????FileOutputStream?oFile?=?new?FileOutputStream("b.properties",?true);//true表示追加打開
????????????prop.setProperty("phone",?"10086");
????????????prop.store(oFile,?"The?New?properties?file");
????????????oFile.close();
????????}
????????catch(Exception?e){
????????????System.out.println(e);
????????}
????}
}
以上就是動力節點java培訓機構的小編針對“Java讀寫Properties配置文件”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習