Java 写 Properties 文件
在 Java 中,我们经常需要读取和写入配置文件,其中一种常见的配置文件格式就是 Properties 文件。Properties 文件是一种简单的键值对形式的文件,常用来存储应用程序的配置信息。
本文将介绍如何使用 Java 读取和写入 Properties 文件,并附有代码示例。下面将从以下几个方面展开介绍:
- Properties 文件的格式
- 读取 Properties 文件
- 写入 Properties 文件
- 示例代码
1. Properties 文件的格式
Properties 文件是一种文本文件,每个配置项都以键值对的形式保存。其中,键和值之间使用等号或冒号进行分隔,通常以 .properties
作为文件后缀名。
以下是一个示例的 Properties 文件:
# 注释行以井号或感叹号开头
database.url = jdbc:mysql://localhost:3306/mydb
database.username = myuser
database.password = mypassword
2. 读取 Properties 文件
Java 提供了 java.util.Properties
类来读取 Properties 文件。下面是读取 Properties 文件的步骤:
- 创建一个
Properties
对象。 - 使用
load()
方法加载 Properties 文件。 - 使用
getProperty()
方法获取配置项的值。
下面是一个读取 Properties 文件的示例:
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertiesReader {
public static void main(String[] args) {
Properties properties = new Properties();
try {
// 加载 Properties 文件
properties.load(new FileInputStream("config.properties"));
// 获取配置项的值
String url = properties.getProperty("database.url");
String username = properties.getProperty("database.username");
String password = properties.getProperty("database.password");
System.out.println("URL: " + url);
System.out.println("Username: " + username);
System.out.println("Password: " + password);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述示例中,我们首先创建了一个 Properties
对象,并使用 load()
方法加载了名为 config.properties
的 Properties 文件。接着,我们通过 getProperty()
方法获取了 database.url
、database.username
和 database.password
这三个配置项的值,并将其打印出来。
3. 写入 Properties 文件
除了读取 Properties 文件,我们还可以使用 Java 写入 Properties 文件。下面是写入 Properties 文件的步骤:
- 创建一个
Properties
对象。 - 使用
setProperty()
方法设置配置项的值。 - 使用
store()
方法将 Properties 对象写入 Properties 文件。
下面是一个写入 Properties 文件的示例:
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertiesWriter {
public static void main(String[] args) {
Properties properties = new Properties();
try {
// 设置配置项的值
properties.setProperty("database.url", "jdbc:mysql://localhost:3306/mydb");
properties.setProperty("database.username", "myuser");
properties.setProperty("database.password", "mypassword");
// 将 Properties 对象写入 Properties 文件
properties.store(new FileOutputStream("config.properties"), null);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述示例中,我们首先创建了一个 Properties
对象,并使用 setProperty()
方法设置了 database.url
、database.username
和 database.password
这三个配置项的值。接着,我们使用 store()
方法将 Properties 对象写入名为 config.properties
的 Properties 文件。
4. 示例代码
下面是一个完整的示例代码,包括读取和写入 Properties 文件的部分:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertiesDemo {
public static void main(String[] args) {
// 读取 Properties 文件
readPropertiesFile();
// 写入 Properties 文件
writePropertiesFile();
}
private static void readPropertiesFile() {
Properties properties = new Properties();
try {
// 加载 Properties 文件
properties.load(new FileInputStream("config.properties"));
// 获取配置项的值
String url = properties.getProperty("database.url");
String username = properties.getProperty("database.username");
String password = properties.getProperty("database.password");
System.out.println("URL: " + url);
System.out.println("Username: " + username);
System.out.println("Password: " + password);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void writePropertiesFile() {