property

更新时间:2022-12-28 13:28:53 阅读: 评论:0


2022年12月28日发(作者:倒霉熊第三部动漫)

..properties文件的形式

#以下为服务器、数据库信息

dbPort=localhost

databaName=mydb

dbUrName=root

dbPassword=root

#以下为数据库表信息

dbTable=mytable

#以下为服务器信息

ip=192.168.0.9

在上面的文件中我们假设该文件名为:ties文件。其中#开始的一行为注释

信息;在等号“=”左边的我们称之为key;等号“=”右边的我们称之为value。(其

实就是我们常说的键-值对)key应该是我们程序中的变量。而value是我们根据实际情

况配置的。

二.JDK中的Properties类Properties类存在于胞中,该类继承自

Hashtable,它提供了几个主要的方法:

1.getProperty(Stringkey),用指定的键在此属性列表中搜索属性。也就是通过参

数key,得到key所对应的value。

2.load(InputStreaminStream),从输入流中读取属性列表(键和元素对)。通过对指

定的文件(比如说上面的ties文件)进行装载来获取该文件中的所有键-值

对。以供getProperty(Stringkey)来搜索。

3.tProperty(Stringkey,Stringvalue),调用Hashtable的方法put。他通过

调用基类的put方法来设置键-值对。

4.store(OutputStreamout,Stringcomments),以适合使用load方法加载到

Properties表中的格式,将此Properties表中的属性列表(键和元素对)写入输出流。与

load方法相反,该方法将键-值对写入到指定的文件中去。

5.clear(),清除所有装载的键-值对。该方法在基类中提供。

有了以上几个方法我们就可以对.properties文件进行操作了!

三.代码实例

packageconfiguration;

putStream;

tFoundException;

tputStream;

ption;

ties;

/***//**

*读取properties文件

*@authorQutr

*

*/

publicclassConfiguration

...{

privatePropertiespropertie;

privateFileInputStreaminputFile;

privateFileOutputStreamoutputFile;

/***//**

*初始化Configuration类

*/

publicConfiguration()

...{

propertie=newProperties();

}

/***//**

*初始化Configuration类

*@paramfilePath要读取的配置文件的路径+名称

*/

publicConfiguration(StringfilePath)

...{

propertie=newProperties();

try...{

inputFile=newFileInputStream(filePath);

(inputFile);

();

}catch(FileNotFoundExceptionex)...{

n("读取属性文件--->失败!-原因:文件路径错误或者文

件不存在");

tackTrace();

}catch(IOExceptionex)...{

n("装载文件--->失败!");

tackTrace();

}

}//endReadConfigInfo(...)

/***//**

*重载函数,得到key的值

*@paramkey取得其值的键

*@returnkey的值

*/

publicStringgetValue(Stringkey)

...{

if(nsKey(key))...{

Stringvalue=perty(key);//得到某一属性的值

returnvalue;

}

el

return"";

}//endgetValue(...)

/***//**

*重载函数,得到key的值

*@paramfileNameproperties文件的路径+文件名

*@paramkey取得其值的键

*@returnkey的值

*/

publicStringgetValue(StringfileName,Stringkey)

...{

try...{

Stringvalue="";

inputFile=newFileInputStream(fileName);

(inputFile);

();

if(nsKey(key))...{

value=perty(key);

returnvalue;

}el

returnvalue;

}catch(FileNotFoundExceptione)...{

tackTrace();

return"";

}catch(IOExceptione)...{

tackTrace();

return"";

}catch(Exceptionex)...{

tackTrace();

return"";

}

}//endgetValue(...)

/***//**

*清除properties文件中所有的key和其值

*/

publicvoidclear()

...{

();

}//endclear();

/***//**

*改变或添加一个key的值,当key存在于properties文件中时该key的值被value

所代替,

*当key不存在时,该key的值是value

*@paramkey要存入的键

*@paramvalue要存入的值

*/

publicvoidtValue(Stringkey,Stringvalue)

...{

perty(key,value);

}//endtValue(...)

/***//**

*将更改后的文件数据存入指定的文件中,该文件可以事先不存在。

*@paramfileName文件路径+文件名称

*@paramdescription对该文件的描述

*/

publicvoidsaveFile(StringfileName,Stringdescription)

...{

try...{

outputFile=newFileOutputStream(fileName);

(outputFile,description);

();

}catch(FileNotFoundExceptione)...{

tackTrace();

}catch(IOExceptionioe)...{

tackTrace();

}

}//endsaveFile(...)

publicstaticvoidmain(String[]args)

...{

Configurationrc=newConfiguration(".ties");//相对路

Stringip=ue("ipp");//以下读取properties文件的值

Stringhost=ue("host");

Stringtab=ue("tab");

n("ip="+ip+"ip-testleng="+"ip-test".length());//

以下输出properties读出的值

n("ip'slength="+());

n("host="+host);

n("tab="+tab);

Configurationcf=newConfiguration();

Stringipp=ue(".ties","ip");

n("ipp="+ipp);

//();

ue("min","999");

ue("max","1000");

le(".ties","test");

//ConfigurationsaveCf=newConfiguration();

//ue("min","10");

//ue("max","1000");

//le(".ties");

}//endmain()

}//endclassReadConfigInfo

四.小结通过上面的例子不难看出,在Java中操作配置文件是非常简单的。在一个需要用

到大量配置信息的模块或系统里,我们有必要封装一个专门的类来共使用。通过最后的main

函数调用,相信大家可以看出该类的用法。不足指出希望大家多多指点。

Javaproperties文件的操作

----------------------------------------------------

Java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为

*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件

中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便。下

面是一个操作Javaproperties文件的例子,给出了操作方法和properties文件。从中可以

看到如何读取properties文件,并应用读取出来的值,是学习操作properties文件的好例

子。

一、properties文件

ties

------------------------------------------------------

##工商报表应用IcisReport的配置文件

##作者:雷智民

##日期:2006年11月21日

说明:业务系统TopIcis和报表系统IcisReport是分离的

#可分开部署到不同的服务器上,也可以部署到同一个服务

#器上;IcisReprot作为独立的web应用程序可以使用任何

#的Servlet容器或者J2EE服务器部署并单独运行,也可以

#通过业务系统的接口调用作为业务系统的一个库来应用.

##IcisReport的ip

=192.168.3.143

#IcisReport的端口

=8080

#IcisReport的上下文路径

tPath=/IcisReport

------------------------------------------------------

二、操作properties文件的Java方法

下面是一个操作properties文件的方法

/***//**

*@return获取IcisReport报表应用的URL

*/

privateStringgetIcisReportURL()...{

StringicisReportURL="";//IcisReport报表应用的URL

StringicisReportServerIP="";//IcisReport服务器的IP

StringicisReportServerPort="";//IcisReport服务器的服务端口

StringicisReportContextPath="";//IcisReport应用的ContextPath

Propertiesprop=newProperties();

InputStreamin;

try...{

in=getClass().getResourceAsStream("/ties");

(in);

SetkeyValue=();

for(Iteratorit=or();t();)...{

Stringkey=(String)();

if((""))...{

icisReportServerIP=(String)(key);

}elif((""))...{

icisReportServerPort=(String)(key);

}elif(("tPath"))...{

icisReportContextPath=(String)(key);

}

}

}catch(Exceptione)...{

("IO读取出错,找不到ties!");

}

if(().equals(""))...{

log

.error("请检查配置文件ties中的

项的值是否正确!");

}

if(().equals(""))...{

log

.error("请检查配置文件ties中的

项的值是否正确!");

}

if(().equals(""))...{

log

.error("请检查配置文件ties中的

项的值是否正确!");

}

icisReportURL=""+()+":"

+()+();

("获取的icisReportURL="+icisReportURL);

returnicisReportURL;

}

总结:Java的properties文件需要放到classpath下面,这样程序才能读取到,有关

classpath实际上就是Java类或者库的存放路径,在Java工程中,properties放到class

文件一块。在web应用中,最简单的方法是放到web应用的WEB-INFclass目录下即可,

也可以放在其他文件夹下面,这时候需要在设置classpath环境变量的时候,将这个文件夹

路径加到classpath变量中,这样也也可以读取到。在此,你需要对classpath有个深刻理

解,classpath绝非系统中刻意设定的那个系统环境变量,WEB-INFclass其实也是,Java

工程的class文件目录也是

本文发布于:2022-12-28 13:28:53,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/46908.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:viagra
下一篇:independent
标签:property
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图