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

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

Java 操作Properties配置文件詳解

瀏覽:39日期:2022-08-27 16:56:58

java中的properties文件是一種配置文件,主要用于表達配置信息,文件類型為*.properties,格式為文本文件,文件的內容是格式是'鍵=值'的格式,在properties

文件中,可以用'#'來作注釋,properties文件在Java編程中用到的地方很多,操作很方便。

一、properties文件

test.properties------------------------------------------------------################################## 工商報表應用IcisReport的配置文件## 日期:2006年11月21日 #################################### 說明:業務系統TopIcis和報表系統IcisReport是分離的# 可分開部署到不同的服務器上,也可以部署到同一個服務# 器上;IcisReprot作為獨立的web應用程序可以使用任何# 的Servlet容器或者J2EE服務器部署并單獨運行,也可以# 通過業務系統的接口調用作為業務系統的一個庫來應用.## IcisReport的ipIcisReport.server.ip=192.168.3.143# IcisReport的端口IcisReport.server.port=8080# IcisReport的上下文路徑IcisReport.contextPath=/IcisReport------------------------------------------------------

Properties類的重要方法

Properties類存在于胞Java.util 中,該類繼承自 Hashtable1. getProperty ( String key) , 用指定的鍵在此屬性列表中搜索屬性。也就是通過參數 key ,得到 key 所對應的 value。2. load ( InputStream inStream) ,從輸入流中讀取屬性列表(鍵和元素對)。通過對指定的文件(比如說上面的 test.properties文件)進行裝載來獲取該文件中的所有鍵 - 值對。以供 getProperty ( String key) 來搜索。3. setProperty ( String key, String value) ,調用 Hashtable 的方法 put 。他通過調用基類的put方法來設置 鍵 - 值對。4. store ( OutputStream out, String comments) , 以適合使用 load 方法加載到Properties表中的格式,將此Properties表中的屬性列表(鍵和元素對)寫入輸出流。與 load 方法相反,該方法將鍵 - 值對寫入到指定的文件中去。5. clear () ,清除所有裝載的 鍵 - 值對。該方法在基類中提供。-------------------------------

二、操作properties文件的java方法

讀屬性文件Properties prop = new Properties();InputStream in = getClass().getResourceAsStream('/IcisReport.properties');prop.load(in);Set keyValue = prop.keySet();for (Iterator it = keyValue.iterator(); it.hasNext();){String key = (String) it.next();}------------------------outputFile = new FileOutputStream(fileName);propertie.store(outputFile, description);outputFile.close();-----------------------------------------------------------------------------------------Class.getResourceAsStream ('/some/pkg/resource.properties');ClassLoader.getResourceAsStream ('some/pkg/resource.properties');java.util.ResourceBundle rs = java.util.ResourceBundle.getBundle('some.pkg.resource');rs.getString('xiaofei');-----------------------------------------------------------------------------------------寫屬性文件Configuration saveCf = new Configuration();saveCf.setValue('min', '10');saveCf.setValue('max', '1000');saveCf.saveFile('.configsave.perperties','test');

總結:java的properties文件需要放到classpath下面,這樣程序才能讀取到,有關classpath實際上就是java類或者庫的存放路徑,在java工程中,properties放到class文件一塊。在web應用中,最簡單的方法是放到web應用的WEB- INFclasses目錄下即可,也可以放在其他文件夾下面,這時候需要在設置classpath環境變量的時候,將這個文件夾路徑加到 classpath變量中,這樣也也可以讀取到。在此,你需要對classpath有個深刻理解,classpath絕非系統中刻意設定的那個系統環境變量,WEB-INFclasses其實也是,java工程的class文件目錄也是。

發個例子大家自己看哈.

package control;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;import java.util.Properties;public class TestMain { //根據key讀取value public static String readValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); String value = props.getProperty (key); System.out.println(key+value); return value; } catch (Exception e) { e.printStackTrace(); return null; } } //讀取properties的全部信息 public static void readProperties(String filePath) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); String Property = props.getProperty (key); System.out.println(key+Property);} } catch (Exception e) { e.printStackTrace(); } } //寫入properties信息 public static void writeProperties(String filePath,String parameterName,String parameterValue) { Properties prop = new Properties(); try { InputStream fis = new FileInputStream(filePath); //從輸入流中讀取屬性列表(鍵和元素對) prop.load(fis); //調用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。 //強制要求為屬性的鍵和值使用字符串。返回值是 Hashtable 調用 put 的結果。 OutputStream fos = new FileOutputStream(filePath); prop.setProperty(parameterName, parameterValue); //以適合使用 load 方法加載到 Properties 表中的格式, //將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出流 prop.store(fos, 'Update ’' + parameterName + '’ value'); } catch (IOException e) { System.err.println('Visit '+filePath+' for updating '+parameterName+' value error'); } } public static void main(String[] args) { readValue('info.properties','url'); writeProperties('info.properties','age','21'); readProperties('info.properties' ); System.out.println('OK'); }

發個例子大家自己看哈.

package control;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;import java.util.Properties;public class TestMain { //根據key讀取value public static String readValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); String value = props.getProperty (key); System.out.println(key+value); return value; } catch (Exception e) { e.printStackTrace(); return null; } } //讀取properties的全部信息 public static void readProperties(String filePath) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); String Property = props.getProperty (key); System.out.println(key+Property);} } catch (Exception e) { e.printStackTrace(); } } //寫入properties信息 public static void writeProperties(String filePath,String parameterName,String parameterValue) { Properties prop = new Properties(); try { InputStream fis = new FileInputStream(filePath); //從輸入流中讀取屬性列表(鍵和元素對) prop.load(fis); //調用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。 //強制要求為屬性的鍵和值使用字符串。返回值是 Hashtable 調用 put 的結果。 OutputStream fos = new FileOutputStream(filePath); prop.setProperty(parameterName, parameterValue); //以適合使用 load 方法加載到 Properties 表中的格式, //將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出流 prop.store(fos, 'Update ’' + parameterName + '’ value'); } catch (IOException e) { System.err.println('Visit '+filePath+' for updating '+parameterName+' value error'); } } public static void main(String[] args) { readValue('info.properties','url'); writeProperties('info.properties','age','21'); readProperties('info.properties' ); System.out.println('OK'); }}

到此這篇關于Java 操作Properties配置文件詳解的文章就介紹到這了,更多相關Java 操作Properties配置文件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 自清洗过滤器-全自动自清洗过反冲洗过滤器 - 中乂(北京)科技有限公司 | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 自恢复保险丝_贴片保险丝_力特保险丝_Littelfuse_可恢复保险丝供应商-秦晋电子 | 24位ADC|8位MCU-芯易德科技有限公司| TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 打包箱房_集成房屋-山东佳一集成房屋有限公司 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 珠光砂保温板-一体化保温板-有釉面发泡陶瓷保温板-杭州一体化建筑材料 | 高压负荷开关-苏州雷尔沃电器有限公司 | 桐城新闻网—桐城市融媒体中心主办 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 |