Java中使用Properties类读取.properties配置文件,通过load()方法加载资源,getProperty()获取属性并可设置默认值,setProperty()和store()支持修改与保存,适用于中小型项目配置管理。

在Java开发中,经常需要读取配置信息,比如数据库连接参数、应用设置等。Java提供的java.util.Properties类是处理键值对格式配置文件的常用工具。它继承自Hashtable,支持从文件、输入流中加载属性,并能方便地获取和保存配置。
配置文件的基本格式
Properties通常配合.properties文件使用,这类文件是纯文本格式,每行以key=value的形式存储数据。例如:
# database.properties db.url=jdbc:mysql://localhost:3306/mydb db.username=root db.password=123456 app.name=MyApplication
注释以#开头,空行可忽略。
从文件加载配置
使用load(InputStream)方法可以从本地文件读取配置。常见做法是通过类路径加载资源文件,确保文件能被打包进JAR。
立即学习“Java免费学习笔记(深入)”;
示例代码:
import java.io.InputStream; import java.util.Properties;public class ConfigLoader { public static void main(String[] args) { Properties props = new Properties(); // 使用类加载器读取资源文件 InputStream in = ConfigLoader.class.getClassLoader() .getResourceAsStream("database.properties");
if (in != null) { try { props.load(in); System.out.println("数据库地址: " + props.getProperty("db.url")); System.out.println("用户名: " + props.getProperty("db.username")); } catch (Exception e) { e.printStackTrace(); } finally { try { in.close(); } catch (Exception e) { e.printStackTrace(); } } } else { System.out.println("配置文件未找到!"); } }}
注意:确保
database.properties位于src/main/resources目录下(Maven项目结构),这样才会被正确打包并可通过类加载器访问。获取属性值的技巧
getProperty()方法支持默认值,避免因缺失配置导致空指针异常。
props.getProperty("app.name")—— 若不存在返回nullprops.getProperty("app.name", "DefaultApp")—— 若不存在返回"DefaultApp"建议所有关键配置都提供默认值或做非空校验,增强程序健壮性。
动态修改与保存配置
除了读取,Properties还支持写入操作。调用setProperty(key, value)添加或更新属性,再用store(OutputStream, comment)保存回文件。
示例:
props.setProperty("app.version", "1.0.1"); try (FileOutputStream fos = new FileOutputStream("config.properties")) { props.store(fos, "Updated configuration"); } catch (IOException e) { e.printStackTrace(); }这适用于需要运行时保存用户设置的场景,如桌面应用偏好设置。
基本上就这些。Properties类简单易用,适合中小型项目的配置管理。只要注意资源路径、异常处理和空值判断,就能稳定工作。不复杂但容易忽略细节。










