Java讀取Properties文件的七種方法的總結(jié)
Java讀取Properties文件的方法總結(jié)
讀取.properties配置文件在實(shí)際的開(kāi)發(fā)中使用的很多,總結(jié)了一下,有以下幾種方法:
其實(shí)很多都是大同小異,概括起來(lái)就2種:
先構(gòu)造出一個(gè)InputStream來(lái),然后調(diào)用Properties#load()
利用ResourceBundle,這個(gè)主要在做國(guó)際化的時(shí)候用的比較多。
例如:它能根據(jù)系統(tǒng)語(yǔ)言環(huán)境自動(dòng)讀取下面三個(gè)properties文件中的一個(gè):
- resource_en_US.properties
- resource_zh_CN.properties
- resource.properties
附上別人整理的6中方法...
1、使用java.util.Properties類(lèi)的load()方法
InputStream in = new BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in);
2、使用java.util.ResourceBundle類(lèi)的getBundle()方法
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());
3、使用java.util.PropertyResourceBundle類(lèi)的構(gòu)造函數(shù)
InputStream in = new BufferedInputStream(new FileInputStream(name)); ResourceBundle rb = new PropertyResourceBundle(in);
4、使用class變量的getResourceAsStream()方法
InputStream in = JProperties.class.getResourceAsStream(name);//JProperties為當(dāng)前類(lèi)名 Properties p = new Properties(); p.load(in);
5、使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name); Properties p = new Properties(); p.load(in);
6、使用java.lang.ClassLoader類(lèi)的getSystemResourceAsStream()靜態(tài)方法
InputStream in = ClassLoader.getSystemResourceAsStream(name); Properties p = new Properties(); p.load(in);
7、在Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
InputStream in = context.getResourceAsStream(path); Properties p = new Properties(); p.load(in);
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringMVC 參數(shù)綁定之視圖傳參到控制器的實(shí)現(xiàn)代碼
這篇文章主要介紹了SpringMVC 參數(shù)綁定之視圖傳參到控制器的相關(guān)知識(shí),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
springboot多環(huán)境進(jìn)行動(dòng)態(tài)配置的方法
這篇文章主要介紹了springboot多環(huán)境下如何進(jìn)行動(dòng)態(tài)配置,本文主要分享了如何在springboot的項(xiàng)目中使用多環(huán)境配置,重點(diǎn)是”spring.profiles.active“屬性,需要的朋友可以參考下2022-06-06
網(wǎng)關(guān)Spring Cloud Gateway HTTP超時(shí)配置問(wèn)題
這篇文章主要介紹了網(wǎng)關(guān)Spring Cloud Gateway HTTP超時(shí)配置問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Java調(diào)用參數(shù)類(lèi)型是application/x-www-form-urlencoded的API問(wèn)題
在使用Postman進(jìn)行接口測(cè)試時(shí),對(duì)于POST請(qǐng)求,需將請(qǐng)求頭設(shè)置為application/x-www-form-urlencoded,并將參數(shù)轉(zhuǎn)為String類(lèi)型,通常在GET請(qǐng)求中,參數(shù)直接拼接在URL后,本文通過(guò)具體實(shí)例,詳細(xì)講解了參數(shù)處理的方法,適合API開(kāi)發(fā)者參考2024-09-09
詳解mybatis插入數(shù)據(jù)后返回自增主鍵ID的問(wèn)題
這篇文章主要介紹了mybatis插入數(shù)據(jù)后返回自增主鍵ID詳解,本文通過(guò)場(chǎng)景分析示例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-07-07
Java多線(xiàn)程的實(shí)現(xiàn)方式詳解
這篇文章主要介紹了Java多線(xiàn)程的實(shí)現(xiàn)方式詳解,線(xiàn)程就是進(jìn)程中的單個(gè)順序控制流,也可以理解成是一條執(zhí)行路徑,java中之所以有多線(xiàn)程機(jī)制,目的就是為了提高程序的處理效率,需要的朋友可以參考下2023-08-08
java的GUI實(shí)現(xiàn)簡(jiǎn)單切換界面
這篇文章主要為大家詳細(xì)介紹了java的GUI實(shí)現(xiàn)簡(jiǎn)單切換界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
關(guān)于Java中的可見(jiàn)性和有序性問(wèn)題
這篇文章主要介紹了關(guān)于Java中的可見(jiàn)性和有序性問(wèn)題,Java在誕生之初就支持多線(xiàn)程,自然也有針對(duì)這三者的技術(shù)方案,今天就學(xué)習(xí)一下Java如何解決其中的可見(jiàn)性和有序性導(dǎo)致的問(wèn)題,需要的朋友可以參考下2023-08-08

