这篇我们讨论Properties文件的操作。和txt/excel/csv一样,Properties也是文件的一种类型,以.properties作为后缀名。之所以介绍这种特殊类型的文件,是因为它在我们以后介绍selenium的时候会用到。
我们先创建一个properties文件。右键新建一个记事本文件,然后强行把后缀名从txt改成properties。双击打开后输入些文字,你不会觉得这个文件有什么不同,但它其实有个特点,可以通过一个等于号把前后两个值绑定,就像下面这样:
按照“左=右”这种格式一行一行把内容写下来,你会发现这种写法和hashmap比较像,其实就是哈希的原理。注意,一行只能有一个键值对,你不能在一行里同时写好几对,到时候读不出来。好,我们现在就演示下怎么读取properties文件。java中有个类就叫properties,专门为读这个类型的文件准备的:
因为过程简单,我就直接上程序了,然后一行一行讲代码:
首先还是先实例化一个Properties对象,这步在第13行。然后第17行用对象调用load()方法来承载properties文件的内容,执行完这步就相当于把properties文件里的键值对读取出来。load就是加载的意思,该方法接收的参数就是properties文件流的对象,所以要实例化文件流对象,第15行和16行做的就是这步。
接着往下看。prop现在包含了properties文件里的所有信息,调用getProperty()方法可以通过一个键参数得到对应的值,执行一下程序打印出最后结果:
这就是properties文件的读取过程。还一个需要注意的是,设计文件时等于号是一个很重要的标识符,等号前后有没有空格不重要,比如上面的name=peng zhang里的值中间有个空格,调用getProperty()时还是会完整地读取该值,不会因为空格而自动忽略后半部分。
这篇文章的源代码是PropertiesFile项目。