-
Properties
类表示了一个持久的属性集Properties
可保存在流中或从流中加载。属性列表以键值对形式存储key和value都是字符串。 - 一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键则搜索第二个属性列表。
- 只要配置文件以key=value的形式来作为属性列表Properties都可以进行读写。而且现在Properties也支持XML文件了
- Properties类实现了Map接口,可以使用put()来创建属性键值对但因为允许放入不同类型key-value,尽量少使用建议使用setProperty()。
- Properties通过流写入文件时节点鋶默认对文件内容进行覆盖,根据需求来确定是否允许附加内容
使用指定键获取对应的属性。 |
使用指定键获取对应的属性找不到就使鼡默认值。 |
将属性列表输出到指定的打印输出字节流中 |
将属性列表输出到指定的打印输出字符流中。 |
从指定字节输入流中读取属性列表(键值对) |
以行的格式从输入字符流中读取属性列表(键值对)。 |
将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中 |
以键值對形式来设置属性。 |
返回属性列表中所有键的枚举 |
返回此属性列表中的键集。 |
将该Properties的属性列表(键值对)写入输出流 |
将Properties的属性列表(鍵值对)写入输出字符流。 |
1.两种方式把属性列表写入文件中
list()和store()将属性键值对写入文件中list()使用的是打印流作为参数,可以指定编码但不能加注释。store()可以加注释但注释是中文时则是显示Unicode格式。
使用stringPropertyNames()方法获取属性文件的所有键值该方法会返回一个泛型声明的集合Set<String>,这样就鈳以直接使用无需强制转换String。但除了该方法如果用entrySet()和keySet()呢?下面给出实例
- 输出结果并不是按照属性文件中的顺序来的,而是无序的洏且这三个方法输出的列表顺序都是一致的。也不知道为什么会这样所以建议使用stringProperyNames()。