Properties集合中的方法store和Properties集合中的方法load

2022-07-09 12:00:42

Properties集合中的方法store

public class Demo01Properties {
    public static void main(String[] args) throws IOException {
        show02();
    }

    private static void show02() throws IOException {
        // 1.一般使用"空字串"建立Properties集合物件,新增資料
        Properties prop = new Properties();
        prop.setProperty("趙麗穎", "167");
        prop.setProperty("迪麗熱巴", "169");
        prop.setProperty("古力娜扎", "170");

        //2.建立位元組輸出流/字元輸出流物件,構造方法中繫結要輸出的目的地
       /* FileWriter fw = new FileWriter("day09_IOAndProperties\\prop.txt");

        //3.使用Properties集合中的方法store,把集合中的臨時資料,持久化寫入到硬碟中儲存
        prop.store(fw,"save data");

        //4.釋放資源
        fw.close();*/

        //位元組流,中文亂碼
        prop.store(new FileOutputStream("day09_IOAndProperties\\\\prop.txt"), "");
    }
}

Properties集合中的方法load

可以使用Properties集合中的方法load,把硬碟中儲存的檔案(鍵值對),讀取到集合中使用

void load(InputStream inStream)

void load(Reader reader)

  引數:

    InputStream inStream:位元組輸入流,不能讀取含有中文的鍵值對

    Reader reader:字元輸入流,能讀取含有中文的鍵值對
  使用步驟:

    1.建立Properties集合物件

    2.使用Properties集合物件中的方法load讀取儲存鍵值對的檔案

    3.遍歷Properties集合

  注意:

    1.儲存鍵值對的檔案中,鍵與值預設的連線符號可以使用=,空格(其他符號)

    2.儲存鍵值對的檔案中,可以使用#進行註釋,被註釋的鍵值對不會再被讀取

    3.儲存鍵值對的檔案中,鍵與值預設都是字串,不用再加引號

public class Demo01Properties {
    public static void main(String[] args) throws IOException {
        show03();
    }
 
    /*
        可以使用Properties集合中的方法load,把硬碟中儲存的檔案(鍵值對),讀取到集合中使用
        void load(InputStream inStream)
        void load(Reader reader)
        引數:
            InputStream inStream:位元組輸入流,不能讀取含有中文的鍵值對
            Reader reader:字元輸入流,能讀取含有中文的鍵值對
        使用步驟:
            1.建立Properties集合物件
            2.使用Properties集合物件中的方法load讀取儲存鍵值對的檔案
            3.遍歷Properties集合
        注意:
            1.儲存鍵值對的檔案中,鍵與值預設的連線符號可以使用=,空格(其他符號)
            2.儲存鍵值對的檔案中,可以使用#進行註釋,被註釋的鍵值對不會再被讀取
            3.儲存鍵值對的檔案中,鍵與值預設都是字串,不用再加引號
     */
    private static void show03() throws IOException {
        //1.建立Properties集合物件
        Properties prop = new Properties();
        //2.使用Properties集合物件中的方法load讀取儲存鍵值對的檔案
        prop.load(new FileReader("prop.txt"));
        //prop.load(new FileInputStream("prop.txt"));
        //3.遍歷Properties集合
        Set<String> set = prop.stringPropertyNames();
        for (String key : set) {
            String value = prop.getProperty(key);
            System.out.println(key+"="+value);
        }
    }
}