屬性集Properties

概述

Properties類表示一組持久的屬性。 Properties可以保存到流中或從流中加載。
Properties中的每個鍵及其對應的值都是一個字符串。

兩個特點:

1.Properties是一個Map集合,可以存儲鍵值對
2.Properties裏面的數據可以很方便的保存到流中,或從流中加載數據

Properties作集合的特有方法:

  • Object setProperty​(String key, String value) 添加鍵值對
  • String getProperty​(String key) 通過鍵獲取值
  • Set stringPropertyNames​() 獲取所有的鍵
public static void main(String[] args) {
        Properties pp = new Properties();

        // Object setProperty​(String key, String value) 添加鍵值對
        pp.setProperty("name", "菜虛困");
        pp.setProperty("age", "18");
        pp.setProperty("address", "廣州");
        System.out.println("pp = " + pp); // {address=廣州, name=菜虛困, age=18}

        // String getProperty​(String key) 通過鍵獲取值
        String name = pp.getProperty("name");
        String age = pp.getProperty("age");
        String address = pp.getProperty("address");
        System.out.println(name + ":" + age + ":" + address);
        System.out.println("---------");
        // map的遍歷
        // 鍵找值
        // 1.獲取所有的鍵
        // Set<String> stringPropertyNames​() 獲取所有的鍵
        Set<String> keySet = pp.stringPropertyNames();
        // 2.遍歷獲取每個鍵
        for (String key : keySet) {
            // 3.通過一個鍵獲取一個值
            String value = pp.getProperty(key);
            System.out.println(key + ":::" + value);
        }
    }

Properties保存和加載文件數據

Properties和流操作的特有方法:

  • 將Properties中的數據保存到流中
  • void store​(OutputStream out, String comments)
  • OutputStream out: 輸出流
  • String comments: 註釋

將文件中的數據加載到Properties中

  • void load​(InputStream inStream)
 public static void main(String[] args) throws IOException {
        // testStore();
        testLoad();
    }

    public static void testLoad() throws IOException {
        Properties pp = new Properties();
        System.out.println(pp);
        // 將文件中的數據加載到Properties中
        // void load​(InputStream inStream)
        FileInputStream fis = new FileInputStream("day10demo\\abc\\info.properties");
        pp.load(fis);

        System.out.println("加載後: " + pp);
    }

    private static void testStore() throws IOException {
        Properties pp = new Properties();
        pp.setProperty("name", "鳳姐姐");
        pp.setProperty("age", "18");
        pp.setProperty("address", "美國");
        // 將Properties中的數據保存到流中
        // void store​(OutputStream out, String comments)
        FileOutputStream fos = new FileOutputStream("day10demo\\abc\\info.properties");
        pp.store(fos, "這是一個大美女");
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章