java.util
类 Properties
因为 Properties
继承于 Hashtable
,所以可对 Properties
对象应用 put
和 putAll
方法。但强烈反对使用这两个方法,因为它们允许调用方插入其键或值不是 Strings
的项。相反,应该使用 setProperty
方法。如果在“有危险”的 Properties
对象(即包含非 String
的键或值)上调用 store
或 save
方法,则该调用将失败
zz=Hello
aa= Hello
bb = Hello
cc = Hello
p.load(new FileInputStream("D:\iEMP\iEMP\etc\sysconf\asdf.properties"));
String va = p.getProperty("bb");
String vb = p.getProperty("aa");
System.out.println("AA"+va+"BB");
System.out.println("AA"+vb+"BB");
打印
AAHello BB
AAHelloBB
可见, = 号前后是可以有空白的,但是key之前,value之后则不可以!
若
zz=Hello
aa : Hello
bb : Hello
cc = Hello
打印
AAHello cc = Hello BB
AAHello BB
将是两字符的键 ":="
。可以使用
和
转义序列包括行结束符字符。跳过键后面的所有空白字符;如果键后的首个非空白字符是 '='
或 ':'
,则忽略该字符并且跳过其后的所有空白字符。行中所有剩余的字符都成为关联元素字符串的一部分;如果没有剩余的字符,则该元素为空字符串 ""
。一旦标识了组成键和元素的原始字符序列,则如上所述执行转义处理。
作为一个示例,以下三行都指定了键 "Truth"
和关联元素值 "Beauty"
:
Truth = Beauty Truth:Beauty Truth :Beauty
另一个示例,以下三行都指定了单个属性:
fruits apple, banana, pear, cantaloupe, watermelon, kiwi, mango
------------- 在properties中被当做了换行符,既其后一行都被当成了当前行的value
------------- 可以出现“:”、“=”作为key、value分隔符,但是不能同时出现———以第一个出现的为准。
@ConstructorProperties 的用法:
http://www.cnblogs.com/kaitao/archive/2012/02/21/2361671.html