Java中Properties集合

目录

1、Properties 集合特点

2、Properties 集合中存储键值对

3、Properties 类中常用方法


Properties 类表示了一个持久化的属性集,可保存在流中或从流中加载,属性列表中每个键及其对应的值都是一个字符串

1、Properties 集合特点

  • Properties 类是 Hashtable 的子类,Map 集合中的方法都可以用
  • 该集合没有泛型,键值都是字符串
  • 是一个可以持久化的属性集,键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上,键值的来源也可以是持久化的设备
  • 有和流技术相结合的方法

2、Properties 集合中存储键值对

集合对象 Properties 类,继承 Hsahtable ,实现 Map 接口,可以和 IO 对象结合使用,实现数据的持久存储,Properties 类有其特有的方法进行键值对的存储,如下:

  • setProperty(String key, String value):setProperty等同与Map接口中的put,即往集合中存储键值对
  • getProperty(String key):通过键获取值
  • stringPropertyNames():将集合中的键存储到 Set 集合中,类似 Map 接口中的 keyset 方法
public static void main(String[] args)
{
    Properties P = new Properties();
    //setProperty(String key, String value):setProperty等同与Map接口中的put,即往集合中存储键值对
    P.setProperty("1","a");
    P.setProperty("2","b");
    P.setProperty("3","c");
    System.out.println(P);
    //stringPropertyNames():将集合中的键存储到 Set 集合中,类似 Map 接口中的 keyset 方法
    Set<String> S = P.stringPropertyNames();
    for(String key : S)
    {
        //通过键获取值
        System.out.println(P.getProperty(key));
    }
}

3、Properties 类中常用方法

  • load(InputStream inputStream) :把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中
  • load(Reader reader) :按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)
  • store(OutputStream outputStream,String commonts) :把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息
  • stroe(Writer writer,String comments) :以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符
public static void main(String[] args) throws IOException {
    /*
     * Properties集合特有方法 load
     * load(InputStream in)
     * load(Reader r)
     * 传递任意的字节或者字符输入流
     * 流对象读取文件中的键值对,保存到集合
     */
    Properties P1 = new Properties();
    FileReader F1 = new FileReader("F:\\TestPath\\test.properties");
    //调用集合的方法load,传递字符输入流
    P1.load(F1);
    F1.close();
    System.out.println(P1);

    /*
     * Properties集合的特有方法store
     * store(OutputStream out)
     * store(Writer w)
     * 接收所有的字节或者字符的输出流,将集合中的键值对,写回文件中保存
     */
    Properties P2 = new Properties();
    P2.setProperty("name", "zhangsan");
    P2.setProperty("age", "31");
    P2.setProperty("email", "123456789@163.com");
    FileWriter F2 = new FileWriter("F:\\TestPath\\test2.properties");
    //键值对,存回文件,使用集合的方法store传递字符输出流
    P2.store(F2, "");
    F2.close();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ONESTAR博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值