Properties 属性集合类

Properties 属性集合类

    属性集合类(用作txt格式的配置文件),这个类是Hashtbale的子类,而Hashtable也Map下面的双列集合
    注意:该类没有泛型

 Properties里面的特殊功能:
        public Object setProperty(String key,String value):和添加相关的:
        public Set<String> stringPropertyNames():获取所有的键的集合
        public String getProperty(String key):获取指定的属性集合中的键的值

这里的集合必须是:Properties属性集合
        public void load(Reader reader):将文本文件的数据读取集合中
        public void store(Writer writer, String comments):将集合中的数据保存到文本文件中
                                                comments:属性列表的描述

需求:
我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么。
请写一个程序判断是否有“lisi”这样的键存在,如果有就改变其实为”100”

    1)先将文件中的数据加载到集合中
    2)获取键的集合,遍历键的集合
        判断:如果"lisi"就是里面的key,
                是的话就修改
    3)重新将集合中的数据保持到文件中

代码:

    public static void main(String args[]) throws IOException{
    //创建属性集合类对象
    Properties p = new Properties();

    p.put("zhangsan","27");
    p.put("lisi","28");
    p.put("wangwu","29");

    p.store(new FileWriter("c.txt"), null);

    //将文本中的数据转为集合
    p.load(new FileReader("c.txt"));

    //获取键的集合
     p.setProperty("zhaoyuhao", "23");
     Set<String> Names = p.stringPropertyNames();
     //遍历
     for(String s :Names){
         if(s.equals("lisi"));
         p.setProperty("xiaolisi", "100");
         break;
     }
     //保存到文本文件中
     p.store(new FileWriter("d.txt"), null);
}

结果:

c.txt:

Tue Aug 15 11:45:11 CST 2017
zhangsan=27
lisi=28
wangwu=29

d.txt;

Tue Aug 15 11:45:11 CST 2017
xiaolisi=100
zhangsan=27
zhaoyuhao=23
lisi=28
wangwu=29

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值