当前位置:首页 > Java

java如何使用properties

2026-03-23 17:29:33Java

使用 Properties 类加载和读取配置文件

在 Java 中,java.util.Properties 类用于处理键值对格式的配置文件(通常以 .properties 为后缀)。以下是基本使用方法:

创建 Properties 对象并加载文件

Properties prop = new Properties();
try (InputStream input = new FileInputStream("config.properties")) {
    prop.load(input);
} catch (IOException ex) {
    ex.printStackTrace();
}

读取属性值

String username = prop.getProperty("username");
String password = prop.getProperty("password", "defaultPassword"); // 带默认值

通过类加载器读取资源文件

当配置文件位于类路径(如 resources 目录)时,可以通过类加载器获取:

try (InputStream input = getClass().getClassLoader().getResourceAsStream("app.properties")) {
    prop.load(input);
} catch (IOException e) {
    e.printStackTrace();
}

写入 Properties 文件

将属性写入文件:

try (OutputStream output = new FileOutputStream("config.properties")) {
    prop.setProperty("db.url", "jdbc:mysql://localhost:3306/mydb");
    prop.store(output, "Database configuration");
} catch (IOException io) {
    io.printStackTrace();
}

处理中文编码

Properties 文件默认使用 ISO-8859-1 编码。如需处理中文,可使用 ResourceBundle 或转换为 Unicode 转义序列:

// 使用 ResourceBundle 读取中文(文件需为 UTF-8)
ResourceBundle bundle = ResourceBundle.getBundle("messages", new UTF8Control());
String value = bundle.getString("key");

// 自定义 UTF8Control 类需继承 ResourceBundle.Control

与 XML 格式交互

Properties 支持 XML 格式的读写:

// 从 XML 加载
prop.loadFromXML(new FileInputStream("config.xml"));

// 保存为 XML
prop.storeToXML(new FileOutputStream("config.xml"), "XML配置");

默认值链

通过继承实现默认值覆盖:

java如何使用properties

Properties defaults = new Properties();
defaults.setProperty("color", "red");

Properties props = new Properties(defaults);
String color = props.getProperty("color"); // 返回 "red"

注意事项

  • 文件路径区分绝对路径和类路径资源
  • 修改后的 Properties 需要显式调用 store() 保存
  • 生产环境建议使用配置管理工具(如 Spring Boot 的 @ConfigurationProperties

分享给朋友:

相关文章

如何用java

如何用java

用Java实现基础功能 Java是一种广泛使用的编程语言,适用于开发各种应用程序。以下是几个常见功能的实现方法。 打印"Hello, World!" public class HelloWorld…

java如何实现异步

java如何实现异步

Java实现异步的方法 Java中实现异步编程可以通过多种方式,每种方式适用于不同的场景和需求。以下是常见的实现方法: 使用Thread类 创建新线程执行异步任务是最基础的方式。通过继承Thread…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

java如何实现多继承

java如何实现多继承

在Java中,由于语言设计本身不支持多继承(即一个类不能直接继承多个父类),但可以通过以下方式间接实现类似多继承的效果: 使用接口实现多继承 接口允许一个类实现多个接口,从而继承多个抽象行为。接口中…

java如何创建测试类

java如何创建测试类

创建测试类的基本步骤 在Java中创建测试类通常使用JUnit框架,以下是具体方法: 安装JUnit依赖 对于Maven项目,在pom.xml中添加依赖: <dependency>…

如何学java基础

如何学java基础

学习Java基础的方法 理解Java的基本概念 Java是一种面向对象的编程语言,掌握基础概念如类、对象、继承、多态和封装是必要的。熟悉Java的语法结构,包括变量、数据类型、运算符和控制语句。 安…