.properties
.properties是一種主要在Java相關技術中用來儲存應用程式的可組態參數的檔案的副檔名。它們也可以儲存用於國際化和本地化的字串,這種檔案被稱為屬性資源包(Property Resource Bundles)。
副檔名 |
.properties |
---|---|
網路媒體型式 | text/plain |
格式類型 | 任何文字格式,包括ASCII和UTF |
每個參數被儲存為一對字串:一個儲存名稱參數(被稱為「鍵」),另一個儲存值。
格式
每個.properties 檔案中的行通常儲存單個屬性。對於每一行可能有這麼幾種格式,包括键=值
,键 = 值
,键:值
,以及键 值
。
.properties檔案可以使用井字號(#)或驚嘆號(!)作為一行中第一個非空白字元來表示它後面的所有文字都是一個註釋。反斜槓(\)用於跳脫字元。下面提供一個屬性檔案的範例。
# You are reading the ".properties" entry.
! The exclamation mark can also mark text as website
site = http://en.wikipedia.org/
message = Welcome to Wikipedia!
site是一個鍵,它對應的值是http://en.wikipedia.org/。而數字符號和感驚嘆號作為註釋標記文字,作為屬性的一部分時沒有什麼影響。因此,message鍵具有值Welcome to Wikipedia!而不是Welcome to Wikipedia。另請注意,在Wikipedia!前面的所有空白被完全排除。
.properties檔案的編碼是ISO-8859-1,又稱為Latin-1。所有非Latin-1字元必須利用Unicode跳脫字元錄入,例如\uHHHH中,HHHH是某個字元的Unicode字元集的十六進制的索引。這樣就可以使用.properties檔案作為本地化的屬性資源包。非Latin-1的文字檔案,可以通過使用隨JDK提供的native2ascii工具轉換為正確的.properties檔案;或使用如po2prop[1]的第三方工具,管理雙語本地化格式跳脫為.properties。
從Java 1.5開始,JDK支援XML格式屬性檔案,其預設是UTF-8編碼的,可以用來替代Java的.properties檔案。[2]
在Java外的應用
Adobe Flex亦使用.properties檔案,不過其是用UTF-8編碼的。[3]
在Apache mod_jk的uriworkermap.properties檔案中,感驚嘆號(「!」)作為每行的第一個非空白字元時,表示邏輯非運算子。[4]
參見
參考文獻
- ^ Translate Toolkit的po2prop (頁面存檔備份,存於互聯網檔案館)可以將本地字元編碼的Gettext PO檔案正確轉換成跳脫過的ASCII,而無需 native2ascii。
- ^ Java XML Properties DTD. [2014-07-14]. (原始內容存檔於2012-07-17).
- ^ Flex IResourceBundle reference. [2014-07-14]. (原始內容存檔於2014-08-29).
- ^ Apache mod_jk uriworkermap.properties reference. [2014-11-12]. (原始內容存檔於2014-11-04).
外部連結
java.util.Properties.load(java.io.Reader)
——給出了良好的Java屬性檔案的精確語意。java.util.PropertyResourceBundle
——介紹了屬性資源包。java.util.Properties
——Java下用簡單的XML格式載入和儲存屬性。- MultiProperties(頁面存檔備份,存於互聯網檔案館)——這是一個Eclipse外掛程式,用來編輯多個內容相似的基於鍵-值檔案。這種檔案格式可以作為屬性檔案。
- Bracket Properties(頁面存檔備份,存於互聯網檔案館)——它「重新定義」了「屬性」的概念,並能使無所不在的.properties檔案保持完備。
- Java Properties Editor (Application + Eclipse plugin)(頁面存檔備份,存於互聯網檔案館)——在整個專案中檢視和編輯屬性檔案的實用工具。
- DOKSoft Properties Editor Eclipse plugin(頁面存檔備份,存於互聯網檔案館) - i18n工具,安裝到Eclipse IDE中。
- Message Editor(頁面存檔備份,存於互聯網檔案館)——它管理Java應用程式的i18n。
- JLokalize(頁面存檔備份,存於互聯網檔案館)——開源的Java屬性編輯器,具有翻譯和拼寫檢查功能。