Properties类:属性列表,集合

Properties类的概述(集合)

1. Properties类的特点:
        1) 属性列表(键和值)中每个键及其对应值都是一个字符串
        2) 可保存在流中或从流中加载,可以对IO流进行操作。把属性集合存到文件中,或从文件中读取所有的属性。

 

2. 属性文件的格式要求:
        属性文件中不能直接汉字,所有的汉字会转成Unicode编码
        1) 格式:属性名=属性值
        2) 每个属性占一行
        3) 注释:以#号开头的行是注释行
        4) 属性文件中所有空行被忽略
        5) 扩展名:properties

常用的方法

1. 构造方法:使用无参的构造方法 new Properties(),创建了一个空的集合。
       
2. 设置/得到属性值:
        不建议使用从Map中继承下来的put()/get()方法添加/获得元素,因为put()可能添加非字符串类型的数据。
        添加属性值:setProperty(属性名,  属性值)
        得到属性值:String getProperty("属性名"),如果没有属性,则返回null
                   String getProperty("属性名", "默认值") 始终保证可以得到一个非空的值
        遍历的方法,得到所有的属性名stringPropertyNames()

将集合中内容存储到文件

1. 保存到IO流:(字节流,字符流)
        store(OutputStream 字节输出流, String 注释)
        store(Writer 字符输出流, String 注释)

        @Test
        public void testPropertiesSave() throws IOException {
            //创建属性集
            Properties prop = new Properties();
           prop.setProperty("name", "Jack");
           prop.setProperty("age", "18");
           prop.setProperty("gender", "male");
            //写到FileOutputStream字节输出流
             FileOutputStream fos = new FileOutputStream("d:/emp.properties");
           prop.store(fos, "I am a employee");//写到io流中 
           fos.close();         }
View Code

2. 读取文件中的数据,并保存到属性集合
    1. 从流中加载:
        load(InputStream 字节输入流)
        load(Reader 字符输入流)

    @Test
    public void testLoad() throws IOException {
        //创建一个空的集合
        Properties properties = new Properties();

        //创建一个文件输入流
        FileInputStream fis = new FileInputStream("d:/emp.properties");
        properties.load(fis);
        System.out.println(properties);

        //关闭流
        fis.close();
    }
View Code

转载于:https://www.cnblogs.com/zengjm/p/6886324.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值