.properties

.properties
互联网媒体类型text/plain格式类型任何文本格式,包括ASCII和UTF

.properties是一种主要在Java相关技术中用来存储应用程序的可配置参数的文件文件扩展名。它们也可以存储用于国际化和本地化的字符串,这种文件被称为属性资源包(Property Resource Bundles)。

每个参数被存储为一对字符串:一个存储名称参数(被称为“键”),另一个存储值。

格式

每个.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]

参见

  • XML和YAML被用作一些更为复杂的配置格式

参考文献

  1. ^ Translate Toolkit的po2prop (页面存档备份,存于互联网档案馆)可以将本地字符编码的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). 

外部链接

  • 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属性编辑器,具有翻译和拼写检查功能。