日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java加載屬性配置properties文件的方法

瀏覽:170日期:2022-09-03 16:34:07

什么是properties文件

屬性配置文件,后綴名為 .properties 文件中嚴格按照key=value進行數(shù)據(jù)參數(shù)的填寫 中文參數(shù)值需要轉為Unicode編碼 不區(qū)分基本數(shù)據(jù)類型 一個編輯好的aaa.properties文件如下圖所示

username=rootflag=truexm =u4f60u597dage=18

為什么要使用properties文件

設想這么一種場景,當你項目發(fā)布上線后,比如連接mysql數(shù)據(jù)庫的端口號需要調整,難道需要重寫改代碼,打包,發(fā)布么?對于一些重要的參數(shù),需要人為經常改變的參數(shù)使用一個properties文件來讀取,就不用修改代碼了,修改完參數(shù),重啟web服務器就能實現(xiàn)預期的需求,后面會介紹動態(tài)加載properties文件,甚至連重啟都不需要了。

使用java加載properties文件的兩種方式

使用類的加載器獲得輸入流加載文件

@Test /** * 使用類的加載器獲得文件輸入流 * @author CC * @date 2020年3月24日 */ public void demo1() throws IOException{ Properties prop =new Properties(); InputStream inputstream= TestProp.class.getClassLoader().getResourceAsStream('test/aaa.properties'); prop.load(inputstream); String username=prop.getProperty('username'); boolean flag=Boolean.valueOf(prop.getProperty('flag')); String xm=prop.getProperty('xm'); int age =Integer.valueOf(prop.getProperty('age')); System.out.println( username + ' ' +flag+' '+xm+' '+age); }

需要注意的點:

Properties 類是java.util包下的類,同時是Map的實現(xiàn)類,可以直接使用,有機會會介紹! 獲取參數(shù)prop.getProperty(“key”),這種獲得參數(shù)的value是字符串的形式,需要按需轉換 中文不需要特殊處理,Unicode編碼會轉化成中文

使用junit的單元測試效果如下:

root true 你好 123

getResourceAsStream()介紹

jdk中對其描述為:返回用于讀取指定資源的輸入流。

public InputStream getResourceAsStream(String name)

這個指定的資源路徑時怎么確定的呢?如果是java工程則是相對于src的路徑比如:是位于src的根目錄下有一個aaa.properties文件,增正確的訪問方式如下:

getResourceAsStream('aaa.properties');

比如:是位于src的根目錄下有一個test文件夾,里面有一個aaa.properties文件,增正確的訪問方式如下:

getResourceAsStream('test/aaa.properties');

使用文件輸入流加載文件

@Test /** * 使用標準的文件輸入流讀取文件 * @author CC * @date 2020年3月24日 */ public void demo2() throws IOException{ Properties prop =new Properties(); InputStream inputstream= new FileInputStream('src/test/aaa.properties'); prop.load(inputstream); String username=prop.getProperty('username'); boolean flag=Boolean.valueOf(prop.getProperty('flag')); String xm=prop.getProperty('xm'); int age =Integer.valueOf(prop.getProperty('age')); System.out.println( username + ' ' +flag+' '+xm+' '+age); }

使用文件輸入流的缺點是什么?

文件的相對路徑不好確定

一:如果是一個java工程,可以這么訪問:

new FileInputStream('src/test/aaa.properties');

二:如果是一個web工程,我們知道在Tomcat的webapps下的工程是沒有src路徑,所有的src下文件會被編譯后放在WEB-INF的classes文件夾下面,顯然上面這種訪問方式會報FileNotFound的異常

實現(xiàn)動態(tài)加載properties文件,不用重啟的那種

場景:已經發(fā)布的web項目,我想修改參數(shù)又不想重啟怎么辦呢?傳統(tǒng)的上面使用類加載器獲得輸入流的方式,有以下缺點:修改了.properties后,即使重新執(zhí)行,讀入的仍為修改前的參數(shù)。此問題的原因在于ClassLoader.getResourceAsStream讀入后,會將.properties保存在緩存中,重新執(zhí)行時會從緩存中讀取,而不是再次讀取.properties文件

使用FileInputStream每次從磁盤中的絕對路徑獲取文件屬性,就能解決上述的缺點,但是需要怎樣獲得文件的絕對路徑?

Properties prop =new Properties(); //InputStream inputstream= ImgCheckServlet.class.getClassLoader().getResourceAsStream('aaa.properties'); //獲取絕對路徑 String path = Thread.currentThread().getContextClassLoader().getResource('').getPath(); System.out.println(path); InputStream inputstream= new FileInputStream(path+'/aaa.properties'); prop.load(inputstream); String username=prop.getProperty('username'); boolean flag=Boolean.valueOf(prop.getProperty('flag')); String xm=prop.getProperty('xm'); int age =Integer.valueOf(prop.getProperty('age')); System.out.println( username + ' ' +flag+' '+xm+' '+age);

可以在一個servlet中看看web工程下的調用效果:比如我們改動age=123,在控制臺可以看到效果如下,實時生效

root true 你好 123

到此這篇關于java加載屬性配置properties文件的方法的文章就介紹到這了,更多相關java properties配置內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品久久久久久久久久久久久久久 | 综合色一区二区| 国产精品日韩精品中文字幕| 欧美少妇精品| 99久久精品国产亚洲精品| 综合国产视频| 精品免费av| 日韩一区二区三区精品| 欧美aa在线观看| 日韩精品五月天| 99视频精品| 日韩免费看片| 麻豆精品在线播放| 日韩视频一二区| 国产亚洲综合精品| 欧美91福利在线观看| 黑丝美女一区二区| 在线免费观看亚洲| 国产精品主播在线观看| 国产女人18毛片水真多18精品| 欧美日韩亚洲国产精品| 日韩av中文字幕一区二区三区| 国产精品黄色| 亚洲国产专区| 青草综合视频| 中文字幕系列一区| 日本在线视频一区二区| 国产91欧美| 水蜜桃久久夜色精品一区的特点| 日本va欧美va精品发布| 麻豆网站免费在线观看| 99热免费精品| 另类小说一区二区三区| 国产手机视频一区二区 | 亚洲免费激情| 免费观看日韩电影| 精品久久网站| 日本va欧美va瓶| 99成人在线视频| 国产精品香蕉| 久久99伊人| 91av亚洲| 国产精品扒开腿做爽爽爽软件| 久久国产中文字幕| 欧美激情三区| 日本中文字幕不卡| 亚洲在线免费| 秋霞影院一区二区三区| 国产欧美一区二区三区精品观看 | 日韩精品1区2区3区| 日韩一区自拍| 国产成人精品一区二区三区免费| 美女91精品| 亚洲美洲欧洲综合国产一区| xxxxx性欧美特大| 国产网站在线| 羞羞答答国产精品www一本| av资源中文在线| 久久国产日本精品| 国产精品嫩草99av在线| 日本大胆欧美人术艺术动态| 美女久久一区| 午夜影院欧美| 在线免费观看亚洲| 国产精品视频首页| 中文字幕成在线观看| 欧美a级片一区| 婷婷综合电影| 国产成人精品三级高清久久91| 欧美三区四区| 免费日韩av| 精品视频一区二区三区在线观看 | 欧美在线观看天堂一区二区三区| 免费观看久久久4p| 久久精品国产999大香线蕉| 成人看片网站| 久久国产三级| 免费国产自久久久久三四区久久| 亚洲精品极品| 高潮一区二区| 中文字幕亚洲精品乱码| 高清久久一区| 蜜臀av亚洲一区中文字幕| 久久精品国产999大香线蕉| 国产综合色产| 欧美精品97| 蜜臀久久99精品久久久画质超高清| 国产精品第一| 亚洲一区不卡| 亚洲天堂资源| 国产欧美久久一区二区三区| 激情综合网址| 电影亚洲精品噜噜在线观看| 亚洲欧美网站在线观看| 久久久夜夜夜| 精品国产精品久久一区免费式| 综合在线一区| 欧洲激情综合| 欧美成人久久| 国产精品99久久免费观看| 亚洲精品一二三**| 欧美专区一区二区三区| 亚洲国产日韩欧美在线| 国产欧美亚洲精品a| 一区二区三区网站| 欧美成人日韩| 日韩久久视频| 美女性感视频久久| 亚洲一级淫片| 亚洲一区二区成人| 蜜桃av一区二区三区电影| 一区在线视频观看| 国产精品对白| 日韩欧美2区| av资源中文在线| 久久影院一区二区三区| 精品国产亚洲一区二区三区大结局| 日韩在线短视频| 美国三级日本三级久久99 | 麻豆久久一区| 91精品婷婷色在线观看| 亚洲欧美久久久| 日韩黄色在线观看| 国产精品免费大片| 亚洲一级高清| 久久国产生活片100| 欧美精品成人| 97人人精品| 91成人精品| 亚洲va久久| 国产精品第一国产精品| 99久久久久国产精品| 日韩视频精品在线观看| 久久激情五月激情| 日本午夜大片a在线观看| 国产99久久久国产精品成人免费| 影音先锋久久精品| 欧美激情一区| 电影91久久久| 丝袜美腿一区二区三区| 精品一二三区| 爽好多水快深点欧美视频| 九九九精品视频| 国产精品毛片在线| 国产伊人久久| 日韩精品a在线观看91| 久久一级电影| 免费一区二区三区在线视频| 好吊日精品视频| 精品亚洲成人| 日本成人中文字幕在线视频| 亚洲福利专区| 美女久久久久久 | 日本久久黄色| 亚洲一级大片| 日韩三区在线| 国产美女精品视频免费播放软件| 久久久久久久久99精品大| 国产精品一区二区美女视频免费看| 在线视频观看日韩| 国产精品15p| 亚洲日产av中文字幕| 三级小说欧洲区亚洲区| 午夜性色一区二区三区免费视频| 91精品推荐| 美女久久99| 蜜臀久久久久久久| 亚洲成人一区| 蜜桃国内精品久久久久软件9| 国产一区二区三区日韩精品| 国产精品一卡| 欧美亚洲网站| 亚洲一二av| 中文字幕视频精品一区二区三区| 欧美成人基地| 国产91一区| 国产一区成人| 亚洲一区二区三区四区五区午夜 | 综合亚洲视频| 美女精品网站| 婷婷亚洲精品| 91午夜精品| 麻豆精品视频在线| 国产一区二区三区探花| 91视频一区| 日韩一区三区| 国产一级久久| 91免费精品国偷自产在线在线| 亚洲精品乱码| 亚洲精选91| 日本精品在线播放| 欧美一区二区三区久久| 国产精品久久久久蜜臀| 欧美综合另类| 亚洲一区二区三区四区五区午夜| 日韩精品免费视频人成| 激情黄产视频在线免费观看| 欧美不卡视频| 欧美一级网站| 欧美一区二区三区激情视频|