.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屬性編輯器,具有翻譯和拼寫檢查功能。