SE高阶(1):用于读写配置文件的特殊Map——Properties类

Properties类的特点和作用

  • Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表以键值对形式存储,key和value都是字符串。
  • 一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。 
  • 只要配置文件以key=value的形式来作为属性列表,Properties都可以进行读写。而且现在Properties也支持XML文件了。

使用注意点

  1. Properties类实现了Map接口,可以使用put()来创建属性键值对,但因为允许放入不同类型key-value,尽量少使用,建议使用setProperty()。
  2. Properties是属于Map体系,所以Properties输出的属性列表是无序的。
  3. Properties输出属性列表有两种方法:list()和store(),store()方法的Stirng comments参数表示注释。当然也可以自己加注释,#注释语句。
  4. Properties通过流写入文件时,节点流默认对文件内容进行覆盖,根据需求来确定是否允许附加内容。

Properties类方法


Properties方法 作用描述

String getProperty(String key)

使用指定键获取对应的属性。
String getProperty(String key, String defaultValue) 使用指定键获取对应的属性,找不到就使用默认值。

void list(PrintStream out)

将属性列表输出到指定的打印输出字节流中。
void list(PrintWriter out) 将属性列表输出到指定的打印输出字符流中。
void load(InputStream inStream) 从指定字节输入流中读取属性列表(键值对)。
void load(Reader reader) 以行的格式从输入字符流中读取属性列表(键值对)。
void loadFromXML(InputStream in) 将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。
Object setProperty(String key, String value) 以键值对形式来设置属性。
Enumeration<?> propertyNames() 返回属性列表中所有键的枚举。 
Set<String> stringPropertyNames() 返回此属性列表中的键集。  
void store(OutputStream out, String comments) 将该Properties的属性列表(键值对)写入输出流。 
void store(Writer writer, String comments) 将Properties的属性列表(键值对)写入输出字符流。
void storeToXML(OutputStream os, String comment) 输出一个包含所有属性的 XML 文档。
void storeToXML(OutputStream os, String comment, String encoding) 使用指定编码输出一个包含所有属性的 XML 文档。 



Properties类的代码实例


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值