Java之Properties集合

Devilyang123發表於2018-05-19

1.Properties類介紹

    JDK API文件描述:

        Properties 類表示了一個持久的屬性集。Properties 可儲存在流中或從流中載入。屬性列表中每個鍵及其對應值都是一個字串。

        一個屬性列表可包含另一個屬性列表作為它的“預設值”;如果未能在原有的屬性列表中搜尋到屬性鍵,則搜尋第二個屬性列表。

        因為 Properties 繼承於 Hashtable,所以可對 Properties 物件應用 putputAll 方法。但不建議使用這兩個方法,因為它們允許呼叫者插入其鍵或值不是 String 的項。相反,應該使用 setProperty 方法。如果在“不安全”的 Properties 物件(即包含非 String 的鍵或值)上呼叫 storesave 方法,則該呼叫將失敗。類似地,如果在“不安全”的 Properties 物件(即包含非 String 的鍵)上呼叫 propertyNameslist 方法,則該呼叫將失敗。

2.Properties類的特點

    a)該集合不能寫泛型

    b)可以持久化的屬性集。鍵值可以儲存到集合中,也可以儲存到硬碟、U盤等

    c)可以和IO流有關的技術結合使用

3.Properties類中的一些方法



測試檔案內容


package com.xiao.properties;

import org.junit.Test;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
/**
 * @Author 笑笑
 * @Date 19:25 2018/05/19
 */
public class PropertiesDemo {

    //Object setProperty(String key, String value)
    @Test
    public void test_01(){
        Properties pro = new Properties();
        pro.setProperty("a","123");
        pro.setProperty("b","123");
        pro.setProperty("c","123");
        System.out.println(pro);
    }
    // String getProperty(String key) 用指定的鍵在此屬性列表中搜尋屬性。
    @Test
    public void test_02(){
        Properties pro = new Properties();
        pro.setProperty("a","123");
        pro.setProperty("b","123");
        pro.setProperty("c","123");

        String v = pro.getProperty("a");
        System.out.println(v);
    }

    //void load(InputStream inStream) 從輸入流中讀取屬性列表(鍵和元素對)
    @Test
    public void test_03() throws  Exception{
        Properties pro = new Properties();
        InputStream in = new FileInputStream("c:\\pro.properties");
        //呼叫方法load,傳入輸入流
        pro.load(in);
        //關閉流
        in.close();
        System.out.println(pro);
    }
}


相關文章