Java讀取Properties文件的七種方法的總結(jié)
Java讀取Properties文件的方法總結(jié)
讀取.properties配置文件在實(shí)際的開發(fā)中使用的很多,總結(jié)了一下,有以下幾種方法:
其實(shí)很多都是大同小異,概括起來就2種:
先構(gòu)造出一個(gè)InputStream來,然后調(diào)用Properties#load()
利用ResourceBundle,這個(gè)主要在做國(guó)際化的時(shí)候用的比較多。
例如:它能根據(jù)系統(tǒng)語言環(huán)境自動(dòng)讀取下面三個(gè)properties文件中的一個(gè):
- resource_en_US.properties
- resource_zh_CN.properties
- resource.properties
附上別人整理的6中方法...
1、使用java.util.Properties類的load()方法
InputStream in = new BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in);
2、使用java.util.ResourceBundle類的getBundle()方法
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());
3、使用java.util.PropertyResourceBundle類的構(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)前類名 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類的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)文章
解決Swagger修改請(qǐng)求對(duì)象字段文檔不更新問題
這篇文章主要為大家介紹了解決Swagger修改請(qǐng)求對(duì)象字段文檔不更新的問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Spring?Framework六種常見設(shè)計(jì)模式
設(shè)計(jì)模式是軟件開發(fā)的重要組成部分,本文借助spring來講解這個(gè)框架的設(shè)計(jì)模式,通過本文我們探討了spring如何利用這些模式來提供這些豐富的功能,對(duì)本文感興趣的朋友跟隨小編一起看看吧2023-06-06Java實(shí)現(xiàn)世界上最快的排序算法Timsort的示例代碼
Timsort?是一個(gè)混合、穩(wěn)定的排序算法,簡(jiǎn)單來說就是歸并排序和二分插入排序算法的混合體,號(hào)稱世界上最好的排序算法。本文將詳解Timsort算法是定義與實(shí)現(xiàn),需要的可以參考一下2022-07-07IntelliJ IDEA中Project與Module的概念以及區(qū)別
這篇文章主要給大家介紹了關(guān)于IntelliJ IDEA中Project與Module的概念以及區(qū)別的相關(guān)資料,文中通過實(shí)例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01SpringBoot YAML語法基礎(chǔ)詳細(xì)整理
YAML 是 “YAML Ain’t Markup Language”(YAML 不是一種標(biāo)記語言)的遞歸縮寫。在開發(fā)的這種語言時(shí),YAML 的意思其實(shí)是:“Yet Another Markup Language”(仍是一種標(biāo)記語言),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10mybatis?返回Map類型key默認(rèn)為大寫問題
這篇文章主要介紹了mybatis?返回Map類型key默認(rèn)為大寫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11