色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

淺談Java中Properties類(lèi)的詳細(xì)使用

瀏覽:6日期:2022-08-09 17:57:34
目錄一、Properties 類(lèi)二、打印JVM參數(shù)三、打印自定義.properties文件中的值3.1、list輸出到控制臺(tái)用絕對(duì)路徑加載3.2、propertyNames輸出getClass()加載3.3、stringPropertyNames輸出getClassLoader加載(推薦)四、獲取值getProperties五、寫(xiě)入到Properties文件5.1、普通寫(xiě)入,中文時(shí)亂碼5.2、解決亂碼寫(xiě)入的問(wèn)題六、加載和導(dǎo)出到xml配置文件6.1、導(dǎo)出到.xml配置文件storeToXML6.2、導(dǎo)出XML配置文件loadFromXML一、Properties 類(lèi)

Properties 類(lèi)位于 java.util.Properties ,是Java 語(yǔ)言的配置文件所使用的類(lèi), Xxx.properties 為Java 語(yǔ)言常見(jiàn)的配置文件,如數(shù)據(jù)庫(kù)的配置 jdbc.properties, 系統(tǒng)參數(shù)配置 system.properties。 這里,講解一下Properties 類(lèi)的具體使用。以key=value 的 鍵值對(duì)的形式進(jìn)行存儲(chǔ)值。 key值不能重復(fù)。

淺談Java中Properties類(lèi)的詳細(xì)使用

繼承了Hashtable 類(lèi),以Map 的形式進(jìn)行放置值, put(key,value) get(key)

主要方法:

淺談Java中Properties類(lèi)的詳細(xì)使用

這里只講解一些常用的形式。

二、打印JVM參數(shù)

JVM 中可以獲取Properties, 來(lái)打印輸出 JVM 所了解的屬性值。用list() 方法,打印到控制臺(tái)。

@Testpublic void printTest(){ Properties properties=System.getProperties(); properties.list(System.out);}

常見(jiàn)的有:

淺談Java中Properties類(lèi)的詳細(xì)使用

三、打印自定義.properties文件中的值

在src 目錄下,放置 jdbc.properties 文件,是數(shù)據(jù)庫(kù)的配置文件。

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8

jdbc.username=root

jdbc.password=abc123

3.1、list輸出到控制臺(tái)用絕對(duì)路徑加載

@Testpublic void name1Test(){ try{Properties properties=new Properties();//用的是磁盤(pán)符的絕對(duì)路徑 InputStream input=new BufferedInputStream(new FileInputStream('D:workspaceJavaLearnsrcjdbc.properties'));properties.load(input);properties.list(System.out); }catch(Exception e){e.printStackTrace(); }}

url 被截取了。

淺談Java中Properties類(lèi)的詳細(xì)使用

3.2、propertyNames輸出getClass()加載

@Testpublic void name2Test(){ try{Properties properties=new Properties(); // 用/文件名, / 表示根目錄InputStream input=PropertiesTest.class.getClass().getResourceAsStream('/jdbc.properties');properties.load(input);Enumeration<String> names=(Enumeration<String>) properties.propertyNames();while(names.hasMoreElements()){ //這是key值 String key=names.nextElement(); String value=properties.getProperty(key); System.out.println(key+'='+value);} }catch(Exception e){e.printStackTrace(); }}

淺談Java中Properties類(lèi)的詳細(xì)使用

3.3、stringPropertyNames輸出getClassLoader加載(推薦)

@Testpublic void name3Test(){ try{Properties properties=new Properties();//直接寫(xiě)src 類(lèi)路徑下的文件名InputStream input=PropertiesTest.class.getClassLoader().getResourceAsStream('jdbc.properties');properties.load(input);//把key值轉(zhuǎn)換成set 的形式,遍歷setSet<String> names=properties.stringPropertyNames();Iterator<String> iterator=names.iterator();while(iterator.hasNext()){ String key=iterator.next(); String value=properties.getProperty(key); System.out.println(key+'='+value);} }catch(Exception e){e.printStackTrace(); }}

淺談Java中Properties類(lèi)的詳細(xì)使用

四、獲取值getProperties

@Testpublic void name3Test(){ try{Properties properties=new Properties();InputStream input=PropertiesTest.class.getClassLoader().getResourceAsStream('jdbc.properties');properties.load(input);//String value=properties.getProperty('jdbc.url');String value=properties.getProperty('jdbc.url1','沒(méi)有該key值');System.out.println('輸出值:'+value); }catch(Exception e){e.printStackTrace(); }}

輸出時(shí),getProperty() 有當(dāng)前的key值,則輸出Key值對(duì)應(yīng)的value 值。如果沒(méi)有key值,則輸出 null 值。后面可以跟 default 值,如果沒(méi)有該值,則輸出設(shè)置的默認(rèn)值。

淺談Java中Properties類(lèi)的詳細(xì)使用

五、寫(xiě)入到Properties文件5.1、普通寫(xiě)入,中文時(shí)亂碼

@Testpublic void writeTest(){ try{Properties properties=new Properties();InputStream input=PropertiesTest.class.getClassLoader().getResourceAsStream('jdbc.properties');properties.load(input);//多添加幾個(gè)值。properties.setProperty('name','兩個(gè)蝴蝶飛');properties.setProperty('sex','男');//properties.put('name','兩個(gè)蝴蝶飛'); 可以用繼承Hashtable 的put 方法寫(xiě)入值// properties.put('sex','男');//將添加的值,連同以前的值一起寫(xiě)入 新的屬性文件里面。OutputStream out=new FileOutputStream('D:jdbc.properties');properties.store(out,'填充數(shù)據(jù)'); }catch(Exception e){e.printStackTrace(); }}

淺談Java中Properties類(lèi)的詳細(xì)使用

5.2、解決亂碼寫(xiě)入的問(wèn)題

在構(gòu)建輸入流和輸出流時(shí),指定編碼格式, 編碼的格式相同。 如均是 utf-8的形式。

@Testpublic void write2Test(){ try{Properties properties=new Properties();//用絕對(duì)路徑InputStream input=new BufferedInputStream(new FileInputStream('D:workspaceJavaLearnsrcjdbc.properties'));properties.load(new InputStreamReader(input,'utf-8')); //多添加幾個(gè)值。properties.setProperty('name','兩個(gè)蝴蝶飛');properties.setProperty('sex','男');OutputStream output=new FileOutputStream('D:jdbc.properties');OutputStreamWriter out=new OutputStreamWriter(output,'utf-8');properties.store(out,'填充數(shù)據(jù)'); }catch(Exception e){e.printStackTrace(); }}

測(cè)試運(yùn)行之后:

淺談Java中Properties類(lèi)的詳細(xì)使用

這樣便解決了亂碼的問(wèn)題。

六、加載和導(dǎo)出到xml配置文件6.1、導(dǎo)出到.xml配置文件storeToXML

將Properties 類(lèi)中定義的屬性,導(dǎo)出成 .xml 的形式.

@Testpublic void xmlWriteTest(){ try{//處理成編碼樣式。Properties properties=new Properties(); //多添加幾個(gè)值。properties.setProperty('name','兩個(gè)蝴蝶飛');properties.setProperty('sex','男');OutputStream output=new FileOutputStream('D:jdbc.xml');//編碼設(shè)置成utf-8的形式。 properties.storeToXML(output,'填充到xml','utf-8'); }catch(Exception e){e.printStackTrace(); }}

測(cè)試結(jié)果為:

淺談Java中Properties類(lèi)的詳細(xì)使用

用 <entry> 節(jié)點(diǎn) key為屬性, 后面跟值來(lái)進(jìn)行輸入。可按照這種形式,繼續(xù)添加。

6.2、導(dǎo)出XML配置文件loadFromXML

@Testpublic void xmlReadTest(){ try{Properties properties=new Properties();InputStream input=new BufferedInputStream(new FileInputStream('D:jdbc.xml'));properties.loadFromXML(input);properties.list(System.out); }catch(Exception e){e.printStackTrace(); }}

淺談Java中Properties類(lèi)的詳細(xì)使用

以上就是淺談Java中Properties類(lèi)的詳細(xì)使用的詳細(xì)內(nèi)容,更多關(guān)于Java Properties的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 免费一区二区三区在线视频 | 久久精品国产欧美日韩亚洲 | 国产欧美一区二区精品久久久 | 亚洲国产日韩在线 | 在线国产视频 | 99视频在线播放 | 国产一级不卡毛片 | 美女被强行扒开双腿激情视频 | 日韩精品久久久毛片一区二区 | 亚洲国产高清人在线 | 日产国产精品久久久久久 | 久久亚洲欧洲日产国码 | 国产禁女女网站免费看 | 亚洲一级毛片在线播放 | 狠狠色丁香婷婷久久综合考虑 | a毛片免费全部在线播放毛 a毛片免费视频 | 免费人成黄页网站在线观看 | 毛片视频网站在线观看 | 国产欧美精品一区二区三区 | 久草在线在线观看 | 免费伦费一区二区三区四区 | 国产成人综合在线视频 | 国产成人麻豆精品 | 中文字幕成人免费高清在线视频 | 国产日韩欧美精品一区 | 亚洲在线国产 | 美女被靠视频免费网站不需要会员 | 国产深夜福利在线观看网站 | 日韩精品视频在线 | 成人免费大片黄在线观看com | 国产黄色片在线免费观看 | 一本伊大人香蕉高清在线观看 | 亚洲在线偷拍自拍 | 亚州精品一区二区三区 | 国产男人的天堂 | 欧美一级毛片免费播放器 | 日韩男人天堂 | 久久精品一区二区三区日韩 | 国产六区 | 亚洲欧美网站 | 欧美一级免费大片 |