.properties

.properties是一種主要在Java相關技術中用來儲存應用程式的可組態參數的檔案副檔名。它們也可以儲存用於國際化和本地化的字串,這種檔案被稱為屬性資源包(Property Resource Bundles)。

Properties
副檔名
.properties
網路媒體型式text/plain
格式類型任何文字格式,包括ASCIIUTF

每個參數被儲存為一對字串:一個儲存名稱參數(被稱為「鍵」),另一個儲存值。

格式

每個.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英語mod_jk的uriworkermap.properties檔案中,感驚嘆號(「!」)作為每行的第一個非空白字元時,表示邏輯非運算子。[4]

參見

  • XMLYAML被用作一些更為複雜的組態格式

參考文獻

  1. ^ Translate Toolkitpo2prop頁面存檔備份,存於互聯網檔案館)可以將本地字元編碼的Gettext PO檔案正確轉換成跳脫過的ASCII,而無需 native2ascii。
  2. ^ Java XML Properties DTD. [2014-07-14]. (原始內容存檔於2012-07-17). 
  3. ^ Flex IResourceBundle reference. [2014-07-14]. (原始內容存檔於2014-08-29). 
  4. ^ Apache mod_jk uriworkermap.properties reference. [2014-11-12]. (原始內容存檔於2014-11-04). 

外部連結