国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術文章
文章詳情頁

淺談Java中Properties類的詳細使用

【字号: 作者:豬豬瀏覽:3日期:2022-08-09 17:57:34
目錄一、Properties 類二、打印JVM參數三、打印自定義.properties文件中的值3.1、list輸出到控制臺用絕對路徑加載3.2、propertyNames輸出getClass()加載3.3、stringPropertyNames輸出getClassLoader加載(推薦)四、獲取值getProperties五、寫入到Properties文件5.1、普通寫入,中文時亂碼5.2、解決亂碼寫入的問題六、加載和導出到xml配置文件6.1、導出到.xml配置文件storeToXML6.2、導出XML配置文件loadFromXML一、Properties 類

Properties 類位于 java.util.Properties ,是Java 語言的配置文件所使用的類, Xxx.properties 為Java 語言常見的配置文件,如數據庫的配置 jdbc.properties, 系統參數配置 system.properties。 這里,講解一下Properties 類的具體使用。以key=value 的 鍵值對的形式進行存儲值。 key值不能重復。

淺談Java中Properties類的詳細使用

繼承了Hashtable 類,以Map 的形式進行放置值, put(key,value) get(key)

主要方法:

淺談Java中Properties類的詳細使用

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

二、打印JVM參數

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

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

常見的有:

淺談Java中Properties類的詳細使用

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

在src 目錄下,放置 jdbc.properties 文件,是數據庫的配置文件。

jdbc.driver=com.mysql.jdbc.Driver

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

jdbc.username=root

jdbc.password=abc123

3.1、list輸出到控制臺用絕對路徑加載

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

url 被截取了。

淺談Java中Properties類的詳細使用

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類的詳細使用

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

@Testpublic void name3Test(){ try{Properties properties=new Properties();//直接寫src 類路徑下的文件名InputStream input=PropertiesTest.class.getClassLoader().getResourceAsStream('jdbc.properties');properties.load(input);//把key值轉換成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類的詳細使用

四、獲取值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','沒有該key值');System.out.println('輸出值:'+value); }catch(Exception e){e.printStackTrace(); }}

輸出時,getProperty() 有當前的key值,則輸出Key值對應的value 值。如果沒有key值,則輸出 null 值。后面可以跟 default 值,如果沒有該值,則輸出設置的默認值。

淺談Java中Properties類的詳細使用

五、寫入到Properties文件5.1、普通寫入,中文時亂碼

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

淺談Java中Properties類的詳細使用

5.2、解決亂碼寫入的問題

在構建輸入流和輸出流時,指定編碼格式, 編碼的格式相同。 如均是 utf-8的形式。

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

測試運行之后:

淺談Java中Properties類的詳細使用

這樣便解決了亂碼的問題。

六、加載和導出到xml配置文件6.1、導出到.xml配置文件storeToXML

將Properties 類中定義的屬性,導出成 .xml 的形式.

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

測試結果為:

淺談Java中Properties類的詳細使用

用 <entry> 節點 key為屬性, 后面跟值來進行輸入??砂凑者@種形式,繼續添加。

6.2、導出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類的詳細使用

以上就是淺談Java中Properties類的詳細使用的詳細內容,更多關于Java Properties的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 国产精品国产三级国产专区5o | 久久久香蕉视频 | 国产系列在线 | 欧洲一级视频 | 国产精品午夜免费观看网站 | 日韩久久精品 | 精品国产区| 正在播放国产精品 | 国产欧美精品一区二区三区 | 日韩一区二区三区视频 | 久久久精品视频免费观看 | 中国女人18xnxx视频 | 2020亚洲男人天堂 | 亚洲在线观看免费 | 国产一区二区三区日韩欧美 | 日本免费一区二区三区a区 日本免费一区二区三区看片 | 欧美精品人爱a欧美精品 | a级毛片在线观看 | 欧美视频一级 | 日本成a人片在线观看网址 日本成年人视频网站 | 久久国产一区二区 | 精品久久久久中文字幕日本 | 欧美性性性性性色大片免费的 | 久久久国产精品福利免费 | 美女张开腿给男人捅 | 欧美精品一级毛片 | 欧美一级做一级爱a做片性 欧美一欧美一级毛片 | 成人国产亚洲 | 一区二区三区四区五区六区 | 高清性色生活片久久久 | 成人a毛片久久免费播放 | 看a网站| ccav在线永久免费看 | 中文一区二区在线观看 | 在线观看免费视频国产 | 男操女视频 | 人操人摸| 成人精品第一区二区三区 | www.黄.com| 日本在线观看一级高清片 | 亚洲高清视频在线播放 |