Skip to content

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 编码来加载和保存属性文件,默认情况下不支持中文字符。

要正确读取包含中文的配置文件,你需要进行一些额外的步骤:

  1. 使用 InputStreamReader 将字节流转换为字符流,并指定适当的字符编码(如 UTF-8)。
  2. 通过 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=你好世界。请确保实际的配置文件存在并包含中文内容。

运行以上代码后,你应该能够成功读取包含中文的配置信息,并打印出你好世界