Java Properties集合代码详解

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Properties集合代码详解相关的知识,希望对你有一定的参考价值。

文章目录

Properties集合

1. Properties简介

Properties是一个Map体系的集合类,Properties可以保存到流中或从流中加载,属性列表中的每个键及其对应的值都是一个字符串。

2. Properties作为Map集合的使用

注意:创建集合对象时候不能设置泛型参数。

// 创建集合对象
Properties<String,String> prop1 = new Properties<String,String>(); //错误

Properties基本使用代码

代码如下:

public class PropertiesDemo1 
    public static void main(String[] args) 

//        创建集合对象
//        Properties<String,String> prop1 = new Properties<String,String>(); //错误
        Properties prop = new Properties();
        // 增
        prop.put("小龙女", "马克龙");
        prop.put("郭襄", "杨过");
        prop.put("黄蓉", "欧阳锋");
        System.out.println(prop);

        //删
        prop.remove("郭襄");
        System.out.println(prop);

        //改
        //put --- 如果键不存在,那么就添加,如果键存在,那么就覆盖.
        prop.put("小龙女", "杨过");
        System.out.println(prop);

        //查
        Object value = prop.get("黄蓉");
        System.out.println(value);

        //遍历
        Set<Object> keys = prop.keySet();
        for (Object key : keys) 
            Object value1 = prop.get(key);
            System.out.println(key + "=" + value1);
        

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

        //装的是所有的键值对对象.
        Set<Map.Entry<Object, Object>> entries = prop.entrySet();
        for (Map.Entry<Object, Object> entry : entries) 
            Object key = entry.getKey();
            Object value2 = entry.getValue();
            System.out.println(key + "=" + value2);
        
    

运行结果如下:

3. Properties作为Map集合的特有方法【应用】

特有方法

方法名说明
Object setProperty(String key, String value)设置集合的键和值,都是String类型,底层调用 Hashtable方法 put
String getProperty(String key)使用此属性列表中指定的键搜索属性
Set stringPropertyNames()从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串

代码如下:

public class PropertiesDemo2 
    public static void main(String[] args) 
        //Object setProperty​(String key, String value) --- put
                    //设置集合的键和值,都是String类型,底层调用 Hashtable方法 put
        Properties prop = new Properties();
        prop.setProperty("涛哥","萌萌");
        prop.setProperty("波哥","思思");
        prop.setProperty("杨大佬","哈哈哈");

        System.out.println(prop);
        //String getProperty​(String key)  --- get
                    //使用此属性列表中指定的键搜索属性

       String value1 = prop.getProperty("杨大佬");
        System.out.println(value1);


        //Set<String> stringPropertyNames​()  --- keySet
                    //从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串

        Set<String> keys = prop.stringPropertyNames();
        for (String key : keys) 
            String value = prop.getProperty(key);
            System.out.println(key + "=" + value);
        

    

运行结果如下:

4. Properties和IO流相结合的方法

和IO流结合的方法

方法名说明
void load(Reader reader)从输入字符流读取属性列表(键和元素对)
void store(Writer writer, String comments)将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流

代码如下:

public class PropertiesDemo3 
    public static void main(String[] args) throws IOException 
        //void load​(Reader reader)                     将本地文件中的键值对数据读取到集合中
        //void store​(Writer writer, String comments)   将集合中的数据以键值对形式保存在本地
        
        //读取
        Properties prop = new Properties();
        FileReader fr = new FileReader("prop.properties");
        //调用完了load方法之后,文件中的键值对数据已经在集合中了.
        prop.load(fr);
        fr.close();

        System.out.println(prop);
    

乱码了,没设置好

以上是关于Java Properties集合代码详解的主要内容,如果未能解决你的问题,请参考以下文章

map集合的遍历

详解 Properties类

JAVA IO流相关代码(Properties类的常见方法与应用)

JAVA IO流相关代码(Properties类的常见方法与应用)

Java 中与IO流有关的集合(Properties集合)

Java中的Properties类详解