Java:Properties文件操作

    Java定义了Java.util.Properties类用于properties文件的操作。Properties类继承了HashTable类。

1、加载properties文件内容

1、从输入流中加载:

方法:

   synchronized void load(InputStream inStream):从输入流中加载文件的内容,加载到Properties实例中。

输入流的来源:

    1)使用类加载器获取Resource目录中或者指定目录中文件的流:

InputStream in = getClass().getResourceAsStream("fileName.properties");

    如果输入相对路径,类加载器会直接从resource目录中去查找文件。

    2)或者直接使用IO:

InputStream in = new BufferedInputStream(new FileInputStream(fileName));

    这里使用了缓冲流加快IO速率,也可以不使用外层的缓冲了,直接用内层的FileInputStream。

2、从Reader中加载:

方法:

   synchronized void load(Reader reader):从Reader中加载文件的内容。

字符输入流Reader的来源:

Reader reader = new FileReader("fileName.properties");

2、内存中的属性列表(Properties的实例中)的增删改查:

0、重要属性:

    protected Properties defaults:默认属性列表是在构造器中传入的Properties实例,用来当在属性列表中找不到key值的时候从默认属性列表中获取缺省值。

    官方介绍:A property list that contains default values for any keys not found in this property list.

1、属性的增加和修改:

   synchronized Object setProperty(String key, String value):如果Properties实例中已经包含这个key,那么就更新;如果不包含,就添加。

2、属性的查询:

   String getProperty(String key):查询key对应的value,如果没有则从默认属性列表defaults中查询,仍然没有则返回null。

   String getProperty(String key, String defaultValue):查询key对应的value,如果没有则从默认属性列表defaults中查询,仍然没有则返回defaultValue。

3、属性的删除:

   synchronized V remove(Object key):方法用来从属性列表中删除key对应的属性。严格来说,这不是Properties中定义的方法,而是在它的继承链中,由Map定义了抽象方法、由HashTable实现的方法,在Properties中并未复写该方法。

    synchronized void clear():清空所有键值对。严格来说,这不是Properties中定义的方法,而是在它的继承链中,由Map定义了抽象方法、由HashTable实现的方法,在Properties中并未复写该方法。

4、属性的key值集合:

    Set<String> stringPropertyNames():返回属性列表的key值的String集合,包括默认属性列表defaults中主属性列表中没有的key值。忽略key或者value非String类型属性。

    Enumeration<?> propertyNames():返回属性列表的key值的枚举集合,包括默认属性列表defaults中的key值。

3、存储到文件

    void store(Writer writer, String comments):将属性列表及描述comments加载到Writer中,comments是以注释的形式存储的。

    void store(OutputStream out, String comments):将属性列表及描述comments加载到输出流中,comments是以注释的形式存储的。

    void storeToXML(OutputStream os, String comment):将属性列表转换为XML的格式,并和描述comment一起存储到输出流。

    void storeToXML(OutputStream os, String comment, String encoding):将属性列表转换为XML的格式,并和描述comment一起使用指定的编码方式存储到输出流。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值