加載.properties配置文件的三種方式

1.通過IO流的方式加載

可以加載任意路徑下的文件,需要注意文件的路徑

核心方法
load(InputStream inStream) 從字節輸入流中讀取鍵值對

方法:
setProperty(String key, String value) 存儲一對數據,只是存儲到了當前properties對象中,並沒有存到文件中
getProperty(String key) 根據key獲取值
stringPropertyNames() 獲取所有的鍵,存入set集合

演示:

		//獲取properties集合對象 
        Properties pro = new Properties();
        //調用load方法結合字節流讀取配置文件並存入properties集合中
        pro.load(new FileInputStream("Demo\\src\\pro.properties"));
        //獲取文件中所有的鍵
        Set<String> keys = pro.stringPropertyNames();
        //遍歷所有的內容
        for (String s : keys){
            System.out.println(s + "=" + pro.getProperty(s));
        }

2.通過類加載器的方式加載

GetProperties是類名
該方式只能讀取類路徑下的配置文件

演示:

		//獲取properties集合對象
        Properties pro = new Properties();
        //通過ClassLoader中的getResourceAsStream將配置文件讀取到字節流中
        InputStream is = GetProperties.class.getClassLoader().getResourceAsStream("pro.properties");
        //將文件內容存入properties集合中
        pro.load(is);
        //獲取文件中所有的鍵
        Set<String> keys = pro.stringPropertyNames();
        //遍歷所有的內容
        for (String s : keys){
            System.out.println(s + "=" + pro.getProperty(s));
        }

3.通過ResourceBundle方式加載

侷限性:只能加載src下,以properties結尾的文件
但是它的操作比較方便,不需要寫文件路徑和文件後綴名

方法:
static getBundle() 返回一個ResourceBundle對象
getString(String key) 根據key獲取值
containsKey(String key) 判斷是否包含指定的key值
getBaseBundleName() 獲取文件名
keySet() 返回所有的鍵,並存入set集合

演示:

		//獲取ResourceBundle對象 
        ResourceBundle pro = ResourceBundle.getBundle("pro");
        //獲取文件中所有的鍵
        Set<String> keys = pro.keySet();
        //遍歷所有的內容
        for (String s : keys){
            System.out.println(s + "=" + pro.getString(s));
        }

文件位置:演示以上三種方式,我把配置文件都放在了 src 路徑下
在這裏插入圖片描述

三種方式,輸出結果都是一樣的,希望可以幫到你,對您有幫助的話就點個贊吧!。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章