亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Java中Properties 類的詳細使用

瀏覽:3日期:2022-08-18 14:57:16

我把你的頭像,設置成我的名字,此刻你便與我同在。我把你的名字,寫進我的代碼里面,以后,我的世界便存在著你。

一.Properties 類

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

Java中Properties 類的詳細使用

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

主要方法:

Java中Properties 類的詳細使用

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

二. 打印 JVM 參數(shù)

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

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

常見的有:

Java中Properties 類的詳細使用

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

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

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8jdbc.username=rootjdbc.password=abc123三.一 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 類的詳細使用

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

三.三 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 文件五.一 普通寫入,中文時亂碼

@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,'填充數(shù)據');}catch(Exception e){e.printStackTrace();}}

Java中Properties 類的詳細使用

五.二 解決亂碼寫入的問題

在構建輸入流和輸出流時,指定編碼格式, 編碼的格式相同。 如均是 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,'填充數(shù)據');}catch(Exception e){e.printStackTrace();}}

測試運行之后:

Java中Properties 類的詳細使用

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

六 . 加載和導出到 xml 配置文件六.一 導出到 .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> 節(jié)點 key為屬性, 后面跟值來進行輸入。可按照這種形式,繼續(xù)添加。

六.二 導出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 類的詳細使用

這就是Properties 類的常見用法 。

到此這篇關于Java中Properties 類的詳細使用的文章就介紹到這了,更多相關Properties 類使用內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 成年人黄色大片大全 | 全免费午夜一级毛片一级毛 | 鲁丝丝国产一区二区 | 日韩午夜网站 | 国产高清精品一级毛片 | 鲁丝一区二区三区不属 | 亚洲综合色色图 | 亚洲不卡在线观看 | 成人免费在线视频观看 | 香蕉视频在线观看国产 | 操批视频| 在线观看福利视频在线观看 | zoofilia杂交videos新一 | 日韩欧美一及在线播放 | 1000部未满岁18在线观看网站 | 一区二区在线视频观看 | 欧美日韩一区二区视频免费看 | 中文字幕国产在线观看 | 黄色精品 | 日韩日b | 久久精品国产久精国产80cm | 成人深爱网 | 日本a毛片 | 色婷婷色综合缴情在线 | 九九精品激情在线视频 | 香港毛片免费看 | 狠狠色成人综合网图片区 | 免费影院在线观看 | 亚洲精品在线网 | 国产网红精品 | 综合色伊人 | jizz国产精品免费麻豆 | 国产欧美日韩不卡 | 黄色片网站免费观看 | 男人的天堂亚洲 | 婷婷亚洲综合 | 日韩a级黄色片 | 九九九九九九 | 久久国产精品2020盗摄 | 亚洲国产片高清在线观看 | 在线观看欧美大片 |