java.util.Properties
是 Java 编程语言中的一个类,用于管理应用程序的配置信息,它继承自 java.util.Hashtable
类,因此它也是基于键值对的数据结构。主要用途是存储应用程序的配置参数,比如数据库连接信息、用户设置等。
以下是 Properties
类的一些主要特点和用法:
-
存储配置信息:它可以存储键值对,其中键和值都是字符串类型。
-
读取和写入配置文件:通常用于从配置文件中读取配置信息,并且可以将配置信息写入配置文件中。常见的配置文件格式包括
.properties
文件格式,它是简单的文本文件,每行表示一个键值对。 -
默认值:可以设置默认值,如果在配置文件中找不到指定的键,则返回默认值。
-
持久化:可以将配置信息持久化到文件系统,以便在应用程序重启后仍然可以使用相同的配置。
-
加载和存储:提供了
load()
和store()
方法来从输入流中加载属性列表,或将属性列表存储到输出流中。
下面是一个简单的示例,展示了如何使用 Properties
类读取和写入配置文件:
package com.example;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class AppConfig {
public static void main(String[] args) {
Properties prop = new Properties();
// 获取当前工作目录,即程序执行时所处的路径,config.properties文件存放位置
String currentDir = System.getProperty("user.dir");
System.out.println("Current directory: " + currentDir);
try {
// 从文件加载属性
prop.load(new FileInputStream("config.properties"));
// 读取属性
String username = prop.getProperty("db.username");
String password = prop.getProperty("db.password");
System.out.println("Username: " + username);
System.out.println("Password: " + password);
// 修改属性
prop.setProperty("db.password", "newpassword");
// 将属性写入文件
prop.store(new FileOutputStream("config.properties"), null);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
config.properties 文件内容:
#Tue Jul 09 11:23:07 CST 2024
db.password=newpassword
app.debug=true
db.username=root
db.url=jdbc\:mysql\://localhost\:3306/mydb
在这个示例中,假设存在一个名为 config.properties
的配置文件,包含了 db.username
和 db.password
的键值对。程序首先加载这些属性,然后可以读取和修改它们,并最终将修改后的属性重新写入到同一个配置文件中。