码迷,mamicode.com
首页 > 其他好文 > 详细

Properties

时间:2021-02-15 11:55:52      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:内存   类型   覆盖   agg   重复   代码   hash   添加   aggregate   

虽然不经常使用Hashtable,但是会经常使用Properties。

Properties是Hashtable的子类,是线程安全的。

Properties的key和value都是String类型的,又称为属性对象。

特点是key无序、不可重复。

其中有几个常用的方法:

  • Object setProperty(String key,String value):添加元素;
  • String getProperty(String key):通过key获得value;
  • void load(Reader reader/InputStream stream):将文件的数据存储到Properties对象中。

简单的通过Properties对象存取数据:

package com.dh.map;

import java.util.Properties;

public class Properties01 {

    public static void main(String[] args) {
        Properties properties = new Properties();
        properties.setProperty("k1","v1");
        properties.setProperty("k2","v2");

        String s = properties.getProperty("k1");
        System.out.println(s);
    }
}

IO和Properties结合:

将文件中的数据(硬盘)加载到Properties对象(内存)中。文件中的数据顺着管道加载到Map集合中。

新建一个没有后缀的文件,内容为:

k1=v1
k2=v2

=左边的是key,=右边的是value,也可以使用key:value的形式,都是String类型;

key不能重复,重复会覆盖内容。

package com.dh.map;

import java.io.FileInputStream;
import java.util.Properties;

public class Properties02 {

    public static void main(String[] args) throws Exception{
        Properties properties = new Properties();
        //直接throws异常
        FileInputStream fis = new FileInputStream("Aggregate/test");
        properties.load(fis);
        //直接输出properties
        System.out.println(properties);
        //获取指定的key的value值
        String s = properties.getProperty("k1");
        System.out.println(s);
    }
}

结果:

{k1=v1, k2=v2}
v1

经常变化的数据可以书写到文件中在程序中动态的获取,如果写在程序中,修改源代码之后需要重新的编译;而写在文件中,就可以直接修改文件,而不需要修改源代码。

类似于以上机制的文件,称为配置文件,以key=value的形式存在的,称为属性配置文件,官方建议以.properties为后缀(但不是必须的)


Properties的使用是很简单的,重要的是需要理解这种思想。

Properties

标签:内存   类型   覆盖   agg   重复   代码   hash   添加   aggregate   

原文地址:https://www.cnblogs.com/denghui-study/p/14396310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!