Properties
一、基本介绍
- Properties 是用于读写配置文件的集合类
- 配置文件格式:键=值
- 注意:键值对不需要有空格,值不需要用引号引起来,默认类型是 String
特别注意:文件应该是 properties 文件才可以读取成功,否则失败但是不会抛异常
1. 常见方法
| 方法/操作 | 描述 |
|---|---|
| load() | 加载配置文件的键值对到 Properties 对象 |
| list() | 将数据显示到指定设备 |
| getProperty(key) | 根据键获取值(传入字符串) |
| setProperty(key, value) | 设置键值对到 Properties 对象 |
| store() | 将 Properties 中的键值对存储到配置文件,在 idea 中,保存信息到配置文件,如果含有中文,会存储为 unicode 码,comments 是配置文件最开头的注释,可以为空 |
2. 传参说明
- load(Reader / InputStream)
- list(PrintStream / PrintWriter)
- setProperty(key, value)
- getProperty(key)
- store(outputStream, comments)
3. 注意点
如果配置文件中的内容出现了中文,保存到文件中会以 unicode 码保存
中文 unicode 码在线查询
https://www.lddgo.net/string/char-encode
二、配置文件读取
代码示例
java
public class newFile {
public static void main(String[] args) throws IOException {
String filePath = "C:\\Users\\jackson\\Desktop\\file.properties";
// 创建 Properties 对象
Properties properties = new Properties();
// 加载文件
properties.load(new FileReader(filePath));
// 打印信息到控制台
properties.list(System.out);
// 根据键来获取值
String user = properties.getProperty("user");
System.out.println("user = " + user);
}
}代码分析
- 创建 properties 对象
- 调用 load() 方法加载文件
- 调用 list() 方法输出配置文件信息到控制台
三、配置文件创建与修改
(1)易错点:先设置文件信息,后创建文件(现有内容才能写入)
(2)内容修改的实现
由于 Properties 类本质还是 Hashtable,根据底层源码可以知道,当键值相同时,如果值不同会对键对应的值重新赋值,实现修改的效果
代码示例
java
public class newFile {
public static void main(String[] args) throws IOException {
// 创建 Properties 对象
Properties properties = new Properties();
// 设置创建文件的目标路径
String dirPath = "C:\\Users\\jackson\\Desktop\\file2.properties";
// 设置文件信息
properties.setProperty("user","jacksonling");
properties.setProperty("pwd","123456");
// 创建文件
properties.store(new FileOutputStream(dirPath),null);
}
}代码分析
- 首先创建 properties 对象
- 调用 setProperty() 方法设置文件信息
- 调用 store() 方法完成文件的创建
