Properties
是 Java 中用于处理配置文件的类。它继承自Hashtable
类,可以将键值对存储在配置文件中,并提供了一些方便的方法来读取和写入配置信息。
下面是一个简单的示例代码,演示如何使用Properties
类:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertiesExample {
public static void main(String[] args) {
// 创建一个 Properties 对象
Properties properties = new Properties();
try {
// 从文件中加载配置信息
FileInputStream inputStream = new FileInputStream("config.properties");
properties.load(inputStream);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
// 读取配置信息
String username = properties.getProperty("username");
String password = properties.getProperty("password");
System.out.println("Username: " + username);
System.out.println("Password: " + password);
// 修改配置信息
properties.setProperty("password", "newPassword");
try {
// 将修改后的配置信息保存到文件
FileOutputStream outputStream = new FileOutputStream("config.properties");
properties.store(outputStream, null);
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码首先创建了一个Properties
对象,并通过load
方法从文件中加载配置信息(假设文件名为 config.properties
)。然后,我们使用getProperty
方法读取指定键的值,并打印出来。
接着,我们使用setProperty
方法修改了密码的值,并通过store
方法将修改后的配置信息保存回文件中。 请确保在运行代码之前,创建一个名为config.properties
的配置文件,并在其中添加键值对,例如:
username=johndoe
password=secretpassword
这样就可以成功读取和修改配置信息了。
Properties读取中文
Properties 类可以轻松地读取和处理中文配置文件。在 Java 中,Properties 类使用 ISO-8859-1 编码来加载和保存属性文件,默认情况下不支持中文字符。
要正确读取包含中文的配置文件,你需要进行一些额外的步骤:
- 使用 InputStreamReader 将字节流转换为字符流,并指定适当的字符编码(如 UTF-8)。
- 通过 load() 方法将字符流加载到 Properties 对象中。
以下是一个简单的示例代码,演示了如何读取中文配置文件:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
public class Main {
public static void main(String[] args) {
Properties properties = new Properties();
try (FileInputStream fileInputStream = new FileInputStream("config.properties");
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8")) {
properties.load(inputStreamReader);
// 获取属性值
String value = properties.getProperty("key");
System.out.println(value);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们假设配置文件名为config.properties
,其中包含一个键值对:key=你好世界
。请确保实际的配置文件存在并包含中文内容。
运行以上代码后,你应该能够成功读取包含中文的配置信息,并打印出你好世界
。