IO流之 Properties

2019-08-18  本文已影响0人  测试员

概述

1.Properties 表示一个持久的Map集合
2.Properties 可保存在流中,或从流中加载
3.属性列表每个键及其对应值都是一个字符串

特殊功能

保存一对属性。
1.ObjectsetProperty(Stringkey,Stringval)
使用此属性列表中指定的键搜索属性值。
2.StringgetProperty(Stringkey)
所有键的名称的集合。
3.Enumeration<String>stringPropertyNames()
从字节输入流中读取键值对
4.load()
把配置文件打在到内存中
5.store()

使用例子

    package com.yuan.io.learn;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Enumeration;
    import java.util.Properties;
    import java.util.Set;
    
    public class PropertiesDemo {
    //    概述案例演示
        @SuppressWarnings("all")
        private static void properTest1() {
            Properties p = new Properties();
            p.put("name", "姓名");
            p.put("age", "年龄");
            p.put("tel", "17682300501");
            System.out.println(p);
        }
    
        /**
        * >保存一对属性。
        * 1.Object setProperty(String key,String val)
        * 使用此属性列表中指定的键搜索属性值。
        * 2.String getProperty(String key)
        * 所有键的名称的集合。
        * 3.Enumeration<String> stringPropertyNames()
        *
        */
        @SuppressWarnings("all")
        private static void testEnumeration() {
            Properties p = new Properties();
            p.put("name", "姓名");
            p.put("age", "年龄");
            p.put("tel", "17682300501");
            p.setProperty("interest","兴趣");
    
            System.out.println(p.getProperty("name"));
            final Set<String> set = p.stringPropertyNames();
            for (String s : set) {
                System.out.println("s = " + s);
            }
    
            System.out.println("=============================================");
            Enumeration<String> em = (Enumeration<String>) p.propertyNames();
            while(em.hasMoreElements()){
                //获取每一个键
                String key = em.nextElement();
                //获取每个键的值
                String val = p.getProperty(key);
                //打印
                System.out.println(key+"=="+val);
            }
        }
    
    
        /** 4.5.特殊功能案例演示
        *
        * 从字节输入流中读取键值对
        * 4. load()
        * 把配置文件打在到内存中
        * 5.store()
        * @throws IOException
        * @throws FileNotFoundException
        */
        @SuppressWarnings("all")
        private static void lastTest() throws IOException, FileNotFoundException {
            //创建p
            Properties p = new Properties();
            //把配置文件打在到内存中
            p.load(new FileInputStream("peizhi.properties"));
            //打印测试 结果完美
            System.out.println(p);
            //修改一下
            p.setProperty("name","名字");
            //添加到配置文件中
            p.store(new FileOutputStream("peizhi.properties"), "说明");
            //打印测试 结果完美
            System.out.println(p);
        }
    }
总结:
    1.父类是HashTable,是个双链集合
    2.用来加载配置文件
上一篇 下一篇

猜你喜欢

热点阅读