趣文网 > 作文大全

跟我学Java编程—应用读写项目配置文件的Properties类

2020-12-02 03:40:02
相关推荐

我们在开发软件项目时,经常需要读取项目的一些配置数据。例如,项目里用到的数据库链接地址、Tomcat服务端口号、数据文件备份地址等信息都需要放到一个配置文件里,由程序读取并获取。这样做的好处是,当需要改变数据库连接地址、Tomcat服务端口号、数据文件备份地址等信息时,不需要修改代码,只需要修改配置文件内容就可以了。

Map接口还有一个重要的实现类Properties类,主要用于读取Java的配置文件,配置文件中很多变量是经常改变的,用于满足不同的项目部署环境要求。

1、Properties类 的构造函数

Properties 提供了二个常用的构造函数,说明如下:

● Properties ()

使用该构造函数,创建一个空的属性列表,没有默认值。

● Properties (Properties defaults)

使用该构造函数,创建一个空的属性列表,具有指定的默认值。

2、Properties类 的属性存取

同其它Map接口实现类一样,Properties类也提供了get和put方法用于元素的存取。但不建议使用这两个方法,因为这两个方法允许调用者插入其键或值不是 String 的数据,应该使用 setProperty和getProperty方法。

● Object setProperty (String key, String value)

该方法用于在属性列表中添加一个属性项,如果key指定的属性项已存在,则修改该属性项。

● String getProperty (String key)

该方法用于获取指定key的属性值。

Properties类属性存取示例代码如下:

程序实例化对象Properties,并调用setProperty方法添加了ip、port、name、psw四个属性项。然后,调用getProperty方法获取属性值。程序输出结果如下图所示:

Properties类主要用于配置文件的读取和修改,需要将属性写入到配置文件中,或者从配置文件读取属性。Properties类也提供了配置文件的存取方法。

1、Properties类 的配置文件的读取

● void load(Reader reader) throws IOException

该方法用于从输入字符流中读取属性列表,因为该方法会抛出IO异常,因此在调用此方法时,应使用try-catch语句捕获IO异常。

● void save(Writer writer, String comments) throws IOException

该方法将当前属性列表写入到输出字符流中,因为该方法会抛出IO异常,因此在调用此方法时,应使用try-catch语句捕获IO异常。

Properties类配置文件存储示例代码如下:

程序代码与上例程序的代码基本相同,不同的是添加了保存属性列表到database.xml的语句。写入的database.xml文件内容如下图所示:

database.xml配置文件内容

从上图看出,例子代码创建的属性项都已写入配置文件。唯一的问题是第一行显示了乱码,乱码内容是在调用store方法存储配置文件时传入的注释内容“数据库配置属性”,建议在写配置文件时尽量不要使用中文内容。

Properties类配置文件读取示例代码如下:

程序调用load方法读取上例中创建的配置文件,然后调用propertyNames方法获取属性项枚举集合,最后遍历枚举集合输出属性项。程序输出结果如下图所示:

ReadPropertiesDemo输出结果

从上图可以看出,程序正确输出了所读配置文件的属性项。

■ 知识点拨

Properties类表示了一个持久的属性集,它可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串。Properties类一般用于项目配置文件的存取。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

作文300字写景 作文读书笔记 梨花作文 励志作文题目 去海边作文 经历作文600字 亮点作文 描写景的作文 牛人作文 关于游戏的作文 中考作文多少分 作文快乐的一天 快乐时光的作文 关于精神的作文 历险记作文 给我的启示作文 高中作文500字 写景400字作文 写景作文300 400字写景作文 语文满分作文 写人作文开头 初三作文题目 草原作文 600字写景作文 朋友作文500字 爆笑作文 曹操 作文 爱国作文题目 600字作文写景