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

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

Java中Properties 類的詳細使用

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

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

一.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.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,'填充數據');}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,'填充數據');}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> 節點 key為屬性, 后面跟值來進行輸入。可按照這種形式,繼續添加。

六.二 導出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 類使用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 电动葫芦-河北悍象起重机械有限公司 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 箱式破碎机_移动方箱式破碎机/价格/厂家_【华盛铭重工】 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 吸音板,隔音板,吸音材料,吸音板价格,声学材料 - 佛山诺声吸音板厂家 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 自清洗过滤器-全自动自清洗过反冲洗过滤器 - 中乂(北京)科技有限公司 | 暴风影音| HDPE储罐_厂家-山东九州阿丽贝防腐设备 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 酸度计_PH计_特斯拉计-西安云仪| 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 电子巡更系统-巡检管理系统-智能巡检【金万码】 | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 |