Properties集合

Properties概述:

  • 是一个Map体系的集合类
  • Properties中有跟IO相关的方法
  • 只存字符串

注:.properties文件内的键值对内容为键=值,无需添加空格与分号,会实际影响其数据

常规用法:

        //常规增删改查操作
        //properties没有泛型修饰
        Properties p = new Properties();


        //增
        p.put("红色","蜘蛛侠");
        p.put("黑色","蝙蝠侠");
        p.put("紫色","基佬侠");

        System.out.println(p);//根据值的首字母排序

        //删
        p.remove("黑色");
        System.out.println(p);

        //改:如果不存在就添加,如果存在就覆盖
        p.put("黑色","黑豹");
        System.out.println(p);

        //查
        Object z = p.get("紫色");
        System.out.println("紫色是"+z);
        System.out.println("----------------------------");
        //遍历(两种方法:
        // 1、一种获取键,根据键获取值;
        // 2、获取键值对,再进行输出;)
        Set<Object> objects = p.keySet();
        for (Object object : objects) {
            Object o = p.get(object);
            System.out.println(o + "=" + object);
        }
        System.out.println("----------------------------");
        Set<Map.Entry<Object, Object>> entries = p.entrySet();
        for (Map.Entry<Object, Object> entry : entries) {
            Object key = entry.getKey();
            Object value = entry.getValue();
            System.out.println(key + "--" + value);
        }

运行结果

 特有方法:

 setProperty、getProperty、 stringPropertyNames

        Properties p = new Properties();
        //作用同put
        p.setProperty("超人","内裤");
        p.setProperty("小丑","鼻子");
        p.setProperty("蝙蝠侠","眼罩");
        System.out.println(p);
        //getProperty
        String a = p.getProperty("小丑");
        System.out.println("小丑的标志:" + a);

        System.out.println("---------------------");

        //stringPropertyNames
        Set<String> strings = p.stringPropertyNames();
        for (String string : strings) {
            //根据得到的键获取到值
            String value = p.getProperty(string);
            System.out.println(string + "--OVO--" + value);
        }

最为重要的两类和IO相结合的方法

  • void load(InputStream inStream):从输入字节流读取属性列表(键和元素对)
  • void load(Reader reader):从输入字符流读取属性列表( 键和元素对 )
  • void store(OutputStream out, Strinq comments):将此属性列表(键和元素对)写入此 Properties表中,以适合于使用load(InputStream)方法的格式写入输出字节流
  • void store(Writer writer, String comments):将此属性列表(键和元素对 ) 写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流

void load(Reader reader)

        Properties p = new Properties();
        FileReader fr = new FileReader("Bhpractice\\src\\aResumeitheima\\Day_11\\Properties\\a.properties");
        p.load(fr);
        fr.close();
        System.out.println(p);

void store(Writer writer, String comments)

        Properties p = new Properties();
        p.put("dz","123");
        p.put("wangwu","222");
        p.put("zlsg","666");

        FileWriter fw = new FileWriter("Bhpractice\\src\\aResumeitheima\\Day_11\\Properties\\a.properties");

        //comment注释,并且注释会自动生成写入时间
        p.store(fw,null);
        fw.close();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值