Java通过Properties读取配置文件详解
作者:归人云淡风轻
时间:2026-01-12
浏览:22
Java中Properties加载配置文件需确保路径正确与键值对解析安全,常用InputStream方式加载,注意ISO-8859-1默认编码导致中文乱码,应转义或指定UTF-8编码,同时规范键值分隔、注释及反斜杠转义。
本文目录
Java中Properties加载配置文件需确保路径正确与键值对解析安全,常用InputStream方式加载,注意ISO-8859-1默认编码导致中文乱码,应转义或指定UTF-8编码,同时规范键值分隔、注释及反斜杠转义。

Java中用Properties加载配置文件,核心就两点:正确读取文件路径、安全解析键值对。关键不在“能不能读”,而在“读得准不准、稳不稳”。
Properties加载配置文件的常用方式
最常用的是通过输入流(InputStream)加载,避免硬编码路径或依赖类路径位置不准的问题。
- 从类路径下加载(推荐用于项目内置配置):
getClass().getClassLoader().getResourceAsStream("config.properties") - 从指定文件系统路径加载(适合外部配置):
new FileInputStream("/etc/myapp/config.properties") - 使用
PropertyResourceBundle(支持国际化,但一般配置不用)
注意编码问题:中文乱码怎么破
Properties默认按ISO-8859-1读取,直接存UTF-8中文会变问号或乱码。解决办法有两个:
- 在保存
.properties文件时,把中文用Unicode转义(如name=\u4F60\u597D),这是最兼容的做法 - 用
InputStreamReader指定UTF-8编码再加载:
new InputStreamReader(new FileInputStream("config.properties"), "UTF-8")
然后传给properties.load()
Properties文件写法和解析细节
格式看着简单,但几处容易出错:
- 键和值之间用
=或:分隔,空格会被当作键或值的一部分(除非用反斜杠转义) - 行首
#或!开头是注释;空行被忽略 - 反斜杠
\用于续行或转义,比如path=C:\\data\\log要写成path=C:\\\\data\\\\log,或用正斜杠path=C:/data/log更省事 - 用
getProperty("key", "default")可设默认值,避免null异常
实际使用的小建议
别把Properties当万能配置工具——它只支持字符串键值对,没嵌套、没类型、没校验。
- 简单开关、路径、数据库连接串等,用它很轻量
- 需要结构化配置(如列表、对象嵌套),考虑
YAML或JSON+ Jackson/Gson - 生产环境建议配合配置中心(Nacos、Apollo),
Properties只做兜底或本地调试用 - 加载后建议校验必要字段是否存在,避免运行时报
NullPointerException
基本上就这些。Properties本身不复杂,但路径、编码、转义这三块最容易踩坑。
作者最新文章
coreldraw快捷键怎么设置在哪里
2026-11-02 21:39
AO3最新可用链接及中文入口汇总
2026-10-29 13:32
coreldraw怎么插入图片 图片导入步骤
2026-10-27 15:37
coreldraw快捷键冲突 怎么改 自定义按键解决
2026-10-24 08:50
AO3中文界面设置指南与核心功能使用教程
2026-10-14 23:28
上一篇:
《伊对》如何更换绑定手机号
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































