使用配置文件的优点:
好处1:可以把软件的设置永久化存储
好处2:如果我们要修改参数,不需要改动代码,直接修改配置文件就可以了
文件后缀名为.properties,其内容是按键值对存储的。前面为键,后面为值。
properties是一个双列集合,拥有Map集合所有的特点。因此可以像使用Map对象一样去使用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文件中的数据到对象中:
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);
????}
}
保存配置项到文件中:
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配置文件");
????????
????}
}