Properties类用于Java中读写.properties配置文件,继承自Hashtable,仅支持字符串键值对。通过InputStream结合load()方法可从类路径加载配置文件,如读取数据库连接信息;使用store()方法可将配置写入文件,支持添加注释;更新配置时先加载、再修改、最后保存,建议操作前备份原文件。注意默认编码为ISO-8859-1,中文需转义或使用XML格式;配置文件推荐放在resources目录;敏感信息应加密或用环境变量替代;getProperty(key, defaultValue)可设置默认值防null。该类轻量易用,适合中小型项目配置管理。

Java中的Properties类是处理配置文件的常用工具,特别适合读写键值对形式的配置信息。它继承自Hashtable,但专用于字符串类型的键和值,常用于加载.properties文件,实现程序的可配置化。
加载配置文件
从项目资源或外部文件中加载.properties文件非常简单,可通过InputStream配合load()方法完成。
示例:从类路径加载配置文件
假设项目中有config.properties文件位于src/main/resources目录下:
db.url=jdbc:mysql://localhost:3306/mydbdb.username=rootdb.password=123456
使用以下代码加载:
立即学习“Java免费学习笔记(深入)”;
try (InputStream input = getClass().getClassLoader().getResourceAsStream(“config.properties”)) {
if (input == null) {
System.out.println(“无法找到配置文件”);
return;
}
Properties prop = new Properties();
prop.load(input);
String url = prop.getProperty(“db.url”);
String user = prop.getProperty(“db.username”);
String pwd = prop.getProperty(“db.password”);
System.out.println(“数据库地址:” + url);
}
保存配置到文件
修改或新建配置后,可以使用store()方法将Properties对象写入文件。
标贝悦读AI配音
在线文字转语音软件-专业的配音网站
20 查看详情
示例:保存配置
Properties prop = new Properties();
prop.setProperty(“app.name”, “MyApp”);
prop.setProperty(“app.version”, “1.0”);
try (FileOutputStream output = new FileOutputStream(“app.properties”)) {
prop.store(output, “Application Configuration”);
}
生成的文件内容会包含注释和键值对:
#Application Configuration#Wed Oct 16 10:20:30 CST 2024app.name=MyAppapp.version=1.0
更新已有配置文件
有时需要在保留原配置的基础上修改某个值,可以先加载,再更新,最后保存。
– 先用load()读取现有配置
– 调用setProperty()修改或添加条目
– 使用store()写回文件
注意:直接覆盖原文件时建议先备份,避免意外丢失数据。
注意事项与建议
– 配置文件默认使用ISO-8859-1编码,若含中文需转义或使用loadFromXML()/storeToXML()
– 推荐将配置文件放在resources目录,便于打包后访问
– 不适合存储敏感信息(如密码),生产环境应结合加密或环境变量使用
– getProperty(key, defaultValue)可提供默认值,避免null判断
基本上就这些。Properties类轻量、易用,适合中小型项目的配置管理,掌握好加载、读取、保存流程,能有效提升程序灵活性。
以上就是Java中Properties类配置文件操作的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/591171.html
微信扫一扫
支付宝扫一扫