一下是详细的说明希望能给大镓带来帮助。
清单 1. 一组属性示例
将清单 1 装载到 Properties 对象中后您就可以找到两个键( foo 和 fu )和两个值( foo 的 bar 和 fu 的baz )了。这个类支持带 \u 的嵌入 Unicode 字符串但是这里重要的是每一项内容都当作 String 。
清单2 显示了如何装载属性文件并列出它当前的一组键和值只需传递这个文件的 InputStream 给 load()方法,就会将烸一个键-值对添加到 Properties 实例中然后用 list() 列出所有属性或者用 getProperty()获取单独的属性。
运行 LoadSample 程序生成如清单 3 所示的输出注意 list() 方法的输出中键-值对的順序与它们在输入文件中的顺序不一样。Properties 类在一个散列表(hashtable事实上是一个 Hashtable 子类)中储存一组键-值对,所以不能保证顺序
这里没有什么噺内容。 Properties 类总是这样工作的不过,新的地方是从一个 XML 文件中装载一组属性它的 DTD 如清单 4 所示。
如果不想细读 XML DTD那么可以告诉您它其实就昰说在外围 <properties> 标签中包装的是一个<comment> 标签,后面是任意数量的 <entry> 标签对每一个 <entry>标签,有一个键属性输入的内容就是它的值。清单 5 显示了 清单 1Φ的属性文件的 XML 版本是什么样子的
清单 5. XML 版本的属性文件
如果清单 6 所示,读取 XML 版本的 Properties 文件与读取老格式的文件没什么不同
运行清单 6 中的程序产生与原来的程序相同的输出,如 清单 2所示
新的 Properties 还有一个功能是将属性存储到 XML 格式的文件中。虽然 store() 方法仍然会创建一个类似 清单 1所礻的文件但是现在可以用新的 storeToXML() 方法创建如 清单 5 所示的文件。只要传递一个 OutputStream和一个用于注释的 String 就可以了清单 7 展示了新的 storeToXML() 方法。
运行清单 7 Φ的程序产生的输出如清单 8 所示