11 Properties

Map集合体系

11 Properties

Properties属性集对象

● 其实就是一个Map集合,但是我们一般不会当集合使用,因为HashMap更好用。

 

Properties核心作用

● Properties代表的是一个属性文件,可以把自己对象中的键值对信息存入到一个属性文件中去。

● 属性文件,后缀是 .properties 结尾的文件,里面的内容都是key=value,后续做系统配置的信息的。

 

Properties的API:

Properties和IO流结合的方法

构造器

说明

void load​(InputStream inStream)

从输入字节流读取属性列表(键和元素对)

void load​(Reader reader)

从输入字符流读取属性列表(键和元素对)

void store​(OutputStream out, String comments)

将此属性列表(键和元素对)写入此 Properties表中,以适合于使用 load(InputStream)方法的格式写入输出字节流

void store​(Writer writer, String comments)

将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流

public Object setProperty(String key, String value)

保存键值对(put)

public String getProperty(String key)

使用此属性列表中指定的键搜索属性值 (get)

public Set<String> stringPropertyNames()

所有键的名称的集合  (keySet())

【示例】

/**
    目标:Properties的概述和使用(框架底层使用,了解这个技术即可)(保存数据到属性文件)

    小结:
            Properties可以保存键值对数据到属性文件

 */
public class PropertiesDemo01 {
    public static void main(String[] args) throws Exception {
        // 需求:使用Properties把键值对信息存入到属性文件中去。
        Properties properties = new Properties();
        properties.setProperty("admin", "123456");
        properties.setProperty("dlei", "003197");
        properties.setProperty("heima", "itcast");
        System.out.println(properties);

        /**
         参数一:保存管道 字符输出流管道
         参数二:保存心得
         */
        properties.store(new FileWriter("io-app2/src/users.properties")
                , "this is users!! i am very happy! give me 100!");
    }
}

 运行结果:

{admin=123456, dlei=003197, heima=itcast}

 查看新生成的 users.properties 文件

#this is users!! i am very happy! give me 100!
#Mon Jan 03 14:13:59 CST 2022
admin=123456
dlei=003197
heima=itcast

 

【示例2】

/**
     目标:Properties读取属性文件中的键值对信息。(读取)

     小结:
     属性集对象可以加载读取属性文件中的数据!!
 */
public class PropertiesDemo02 {
    public static void main(String[] args) throws Exception {
        // 需求:Properties读取属性文件中的键值对信息。(读取)
        Properties properties = new Properties();
        System.out.println(properties);

        // 加载属性文件中的键值对数据到属性对象properties中去
        properties.load(new FileReader("io-app2/src/users.properties"));

        System.out.println(properties);
        String rs = properties.getProperty("dlei");
        System.out.println(rs);
        String rs1 = properties.getProperty("admin");
        System.out.println(rs1);
    }
}

 运行结果:

{}
{admin=123456, dlei=003197, heima=itcast}
003197
123456

 

上一篇:mybatis的整合之路


下一篇:【每日一题见微知著】二维数组排序——游戏中弱角色的数量-Mid