电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

淺談Java中Properties類的詳細使用

瀏覽:5日期: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
相關文章:
主站蜘蛛池模板: 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 | 顶呱呱交易平台-行业领先的公司资产交易服务平台 | 液氨泵,液化气泵-淄博「亚泰」燃气设备制造有限公司 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 鑫达滑石-辽宁鑫达滑石集团 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | 海峰资讯 - 专注装饰公司营销型网站建设和网络营销培训 | 包装机_厂家_价格-山东包装机有限公司 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 篷房|仓储篷房|铝合金篷房|体育篷房|篷房厂家-华烨建筑科技官网 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | arch电源_SINPRO_开关电源_模块电源_医疗电源-东佑源 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 卫生人才网-中国专业的医疗卫生医学人才网招聘网站! | 锯边机,自动锯边机,双面涂胶机-建业顺达机械有限公司 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 |