Java Properties配置文件使用方法详解
使用配置文件的优点:
好处1:可以把软件的设置永久化存储
好处2:如果我们要修改参数,不需要改动代码,直接修改配置文件就可以了
Properties配置文件
文件后缀名为.properties,其内容是按键值对存储的。前面为键,后面为值。
properties是一个双列集合,拥有Map集合所有的特点。因此可以像使用Map对象一样去使用Properties对象。
重点:它有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中。也可以把配置文件中的数据,读取到集合中来。方便使用。
Properties作为双列集合的方法
Properties基本用法示例:
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class PropTest {
public static void main(String[] args) {
// 1。创建集合的对象
Properties prop = new Properties();
// 2.添加数据
// 注意事项:虽然我们可以往Properties当中添加任意的数据类型,但是一般只会往里面添加字符串类型的数据
prop.put("aaa", "111");
prop.put("bbb", "222");
prop.put("ccc", "333");
prop.put("ddd", "444");
// 3.打印集合
System.out.println(prop);
// 4.遍历Properties集合
// 遍历方式1:
Set<Object> keys = prop.keySet();
for (Object key : keys) {
Object value = prop.get(key);
System.out.println(key + "=" + value);
}
System.out.println("============");
// 遍历方式2:
Set<Map.Entry<Object, Object>> entries = prop.entrySet();
for (Map.Entry<Object, Object> entry : entries) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
}
输出结果为:
{aaa=111, ccc=333, bbb=222, ddd=444}
aaa=111
ccc=333
bbb=222
ddd=444
============
aaa=111
ccc=333
bbb=222
ddd=444
Properties中特有的读写方法
load()方法:加载Properties文件
读取本地Properties文件中的数据到对象中:
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class PropTest3 {
public static void main(String[] args) throws IOException {
// 1。创建集合的对象
Properties prop = new Properties();
// 2.读取本地Properties文件中的数据
prop.load(new FileReader("files/config.properties"));
// 3。打印Properties
System.out.println(prop);
}
}
store()方法:保存Properties文件
保存配置项到文件中:
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class PropTest2 {
public static void main(String[] args) throws IOException {
// 1。创建集合的对象
Properties prop = new Properties();
// 2.添加数据
// 注意事项:虽然我们可以往Properties当中添加任意的数据类型,但是一般只会往里面添加字符串类型的数据
prop.put("aaa", "111");
prop.put("bbb", "222");
prop.put("ccc", "333");
prop.put("ddd", "444");
// 3.把集合中的数据写入本地文件
prop.store(new FileWriter("files/config.properties"), "Properties配置文件");
}
}