基本介绍
Properties 是 Java 提供的一个专门用于读取和写入配置文件 的类,继承自 Hashtable ,常用于存储 String-String 类型的键值对,例如数据库连接信息、应用程序参数等。
核心特性
-
支持从文件、classpath、内存流等多种来源加载配置。
-
提供 load() / store() 方法方便读写 .properties 文件。
-
可通过 getProperty() 获取值,支持默认值返回。
-
从 JDK9 开始 .properties 文件可直接使用 UTF-8 编码。
1)专门用于读写配置文件的集合类
配置文件的格式:
键 = 值
键 = 值
2)注意:键值对不需要有空格,值不需要用引号包起来,默认类型是 String
常见方法
- load:加载配置文件的键值对到 Properties 对象
- list:将数据显示到指定设备
- getProperty(key):根据键获取值
- setProperty(key,value):设置键值对到 Properties 对象
- store:将 P roperties 中的键值对存储到配置文件,在 idea 中,保存信息到配置文件,如果含有中文,会存储为 unicode 码
应用案例
1.使用 Properties 类完成对 mysql.properties 的读取
java
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class properties02 {
public static void main(String[] args) throws IOException {
// 1.使用 Properties 类完成对 mysql.properties 的读取
// 创建 Properties 对象
Properties pt = new Properties();
// 加载文件中的键值对数据到 Properties 对象中
pt.load(new FileReader("src/mysql.properties"));
// 把 k-v (键值对) 显示到控制台
pt.list(System.out);
// 根据指定的 key 获取对应的 value
String user = pt.getProperty("user");
String pwd = pt.getProperty("password");
System.out.println("user = " + user );
System.out.println("pwd = " + pwd );
}
}
2.使用 Properties 类添加 key - val 到新文件 mysql2.properties 中
java
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class Properties03 {
public static void main(String[] args) throws IOException {
// 使用 Properties 类来创建 配置文件,修改配置文件内容
Properties p1 = new Properties();
// 创建文件
p1.setProperty("charset","utf-8");
p1.setProperty("user","汤姆"); // 注意,这里是保存中文的 Unicode码
p1.setProperty("pwd","abc1111");
// 将 k-v 存储到文件中
// null 的位置表示注解
p1.store(new FileWriter("src\\mysql2.properties"),null);
System.out.println("保存配置文件完成...");
}
}