Properties类是一个配置文件类,主要作用就是用来封装配置文件,将配置文件加载成为一个Properties对象。
注意:Properties类一般用来加载 .properties配置文件
首先看一下.properties
配置文件的样子
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/user
username=root
password=root
#初始化连接
initialSize=5
#最大连接数量
maxActive=10
#最大空闲连接
maxIdle=10
这就是一个普通的.properties
配置文件的基本样子。
可以看到,在.properties
配置文件中,参数和值都是以键值对的形式存在的,所以说Properties类本质上就是一个Map的实现类,其中参数名称是key,参数值是value。Map接口中定义的方法可以在Properties实例对象上调用
Properties的常用方法
方法名 | 说明 |
---|---|
setProperty(String key,String value) | 向Properties对象中添加参数和值 |
getProperty(String key) | 获取指定参数值 |
load(InputStream in) | 以字节输入流加载配置文件到对象中 |
load(Reader in) | 以字符输入流加载配置文件到对象中 |
store(OutputStream out,String comments) | 以字节输出流将对象中的内容输出到配置文件中 |
store(Writer out, String comments) | 以字符输出流将对象中的内容输出到配置文件中 |
看一个小例子:读取配置文件并输出文件中的内容
这是要读取的配置文件
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/user
username=root
password=root
#初始化连接
initialSize=5
#最大连接数量
maxActive=10
#最大空闲连接
maxIdle=10
这是java测试代码
Properties properties = new Properties();
// 需要一个文件输入流对象
properties.load(new FileInputStream("src/pro.properties"));
Set keySet = properties.keySet();
for(Object key : keySet) {
System.out.println(key + "=" + properties.getProperty(key.toString()));
}
控制台输出
总结
Properties类是.properties
配置文件的封装类,需要通过一个输入流的形式读取到Properties实例中。
Properties类就是Map的实现类,所以Map上那些常用的方法也可以在Properties实例上调用。
平时Properties类一般用来加载一些程序的配置文件,例如数据库连接的配置信息 、连接池的配置等