目录
一,Properties类
Java中提供了Properties类,用于对配置文件(.properties文件)进行查询和修改等操作。Properties类继承自Hashtable类,以键值对的形式存储信息。
配置文件(.properties文件)的存储形式为:key=value,注意键值对不需要有空格,值不需要带引号,默认形式为String。
ip=127.0.0.1
user=root
passward=114514
Properties类常用的方法有:
方法名 | 属性值 | 说明 |
void load() | inputStream(输入流) | 通过输入流将指定配置文件加载到对象 |
void store() | inputStream+comment | 将相应信息写入配置文件中 |
object setProperty() | String key + String value | 设置键值对信息 |
String getProperty() | String key | 根据key值获取对应value值 |
void list() | PrintStream/PrintWriter | 打印键值信息 |
二,Properties的查询
根据list方法可查询到所有键值信息,或调用getProperty,根据key值获取value值,操作步骤为:
- 创建properties类;
- 将指定配置文件加载到properties对象;
- 调用相应方法,查询到配置文件信息;
//Properties的查询
//1.创建Properties类
Properties properties = new Properties();
//2.将指定配置文件加载到类
properties.load(new FileReader("src/Text_Reflection/data.properties"));
//3.将键值对打印到控制台
properties.list(System.out);
//4.根据键值获取对应值
String str = properties.getProperty("user");
System.out.println("user" + "=" + str);
成功查询如下:
三,Properties的创建与修改
1.Properties的创建
Properties的创建步骤如下:
- 创建properties类;
- 调用setProperties方法,设置键值信息;
- 调用store方法,将信息保存到配置文件中;
//Properties的创建 修改
Properties properties1 = new Properties();
properties1.setProperty("user", "喜多郁代"); //使用字节流,保存的是unicode码
properties1.setProperty("id", "114514");
properties1.setProperty("passward", "123456");
properties1.store(new FileOutputStream("src/Text_Reflection/data1.properties"), null);
需要注意的是,调用store方法时,若使用的是字节流,那么中文字符将会默认以unicode码的形式保存。
成功创建后如下:
2.Properties的修改
在创建配置文件时,调用setProperties方法时,若键值信息不存在,则创建相应文件,若键值信息已经存在,则修改相应信息。例如我们将上面代码中的id修改:
//Properties的创建 修改
Properties properties1 = new Properties();
properties1.setProperty("user", "喜多郁代"); //使用字节流,保存的是unicode码
properties1.setProperty("id", "2233");
properties1.setProperty("passward", "123456");
properties1.store(new FileOutputStream("src/Text_Reflection/data1.properties"), null);
可以看到成功修改: