首頁  >  文章  >  Java  >  Java取得Properties檔案內容的四種方式

Java取得Properties檔案內容的四種方式

黄舟
黄舟原創
2017-05-15 09:39:582420瀏覽

這篇文章主要介紹了Java中的幾種讀取properties設定檔的方式,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

相信對於一名JAVA開發者開說properties檔一定再熟悉不過了,比如一下配置:

  1. ##config.properties會經常存放一些系統常數,版本號,路徑之類的

  2. database.properties存放資料庫的連接參數

  3. ##log4j.properties 日誌的一些基本配置
  4. redis.properties 快取資料庫的一些配置

  5. 當然前綴是根據用能自行定義的,一般來說文件的內容的格式是「鍵=值」的格式,文字
註解

訊息可以用」#」來註釋,下面來說說開發中如何讀寫properties設定檔。

Java讀取Properties檔案

Properties類別讀取

#Properties類別

繼承

Hashtable類別並且實作了Map介面,也是使用一種鍵值對的形式來保存屬性集。不過Properties有特殊的地方,就是它的鍵和值都是字串類型。

//方式一
InputStream in = new BufferedInputStream(new FileInputStream("文件路径名"));
Properties p = new Properties();
p.load(in);
System.out.println(p.getProperty("version"));
//方式二
InputStream ins = PropertiesUtil.class.getResourceAsStream("文件路径名");
Properties ps = new Properties();
ps.load(ins);
System.out.println(ps.getProperty("version"));
//方式三
InputStream inss = PropertiesUtil.class.getClassLoader().getResourceAsStream("文件名");
Properties pss = new Properties();
pss.load(inss);
System.out.println(pss.getProperty("version"));
//方式四
InputStream insss = ClassLoader.getSystemResourceAsStream("文件名");
Properties psss = new Properties();
psss.load(insss);
System.out.println(pss.getProperty("version"));

ResourceBundle讀取方式

這個類別提供軟體國際化的捷徑。透過此類,可以使您所編寫的程式可以:

    輕鬆地在地化或翻譯成不同的語言
  1. 一次處理多語言環境
  2. 以後可以輕鬆修改,支援更多的語言環境
  3. 說的簡單點,這個類別的功能就是讀取資源屬性檔案(properties),然後根據.properties檔案的名稱資訊(本地化資訊),匹配目前系統的國別語言資訊(也可以程式指定),然後取得對應的properties檔案的內容。

使用這個類,要注意的一點是,這個properties文件的名字是有規範的:一般的命名規範是: 自定義名語言代碼國別代碼.properties,如果是默認的,直接寫為:自訂名稱.properties


例如:

    myres_en_US.properties
  1. myres_zh_CN.properties
  2. myres.properties
  3. //方式五
    ResourceBundle rb = ResourceBundle.getBundle("文件名前缀", Locale.getDefault());
    System.out.println(rb.getObject("version"));
    //方式六
    InputStream is = new BufferedInputStream(new FileInputStream("文件名前缀"));
    ResourceBundle rbs = new PropertyResourceBundle(is);
    System.out.println(rbs.getObject("version"));
  4. ResourceBundle讀取方式,相對來說比較方便,但仔細檢視來源碼,ResourceBundle讀取一次就會被系統快取.

對於在生產環境中,如果我們要動態修改properties的某些參數,如果使用ResourceBundle讀取方式就必須要重新啟動伺服器了。

【相關推薦】

1.

特別推薦#:「php程式設計師工具箱」V0.1版本下載2.

Java免費影片教學

3.

全面解析Java註解

#

以上是Java取得Properties檔案內容的四種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn