编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 名词解释 / Properties文件

Properties文件

Properties 文件是 Java 生态里最常见的配置文件格式,扩展名通常为 .properties。它以纯文本存储「键=值」对,每行一条,用 =: 或空格分隔键与值;以 #! 开头的行是注释。它结构扁平、语法极简,常用来保存数据库连接、国际化文案(i18n)、应用参数等配置。

在程序里它由 java.util.Properties 类读写,本质是一个继承自 Hashtable 的键值容器。需要留意编码:用 load(InputStream) 加载时默认按 ISO-8859-1 解析,中文等非 ASCII 字符必须写成 \uXXXX 形式的 Unicode 转义(旧版靠 native2ascii 工具转换);从 Java 9 起可用 load(Reader) 直接读取 UTF-8。此外还有等价的 XML 形式,原生支持 UTF-8。

使用要点与常见误区:

常见问题

Properties 文件和 JSON、YAML 有什么区别?
Properties 只有扁平的键值对,不支持数组和真正的嵌套结构;JSON/YAML 天生支持层级与列表。用 a.b 这样的点号键只是命名约定,需要借助工具(如 properties-to-json)才能转成嵌套对象。
为什么我的中文配置读出来是乱码?
因为传统 .properties 用 ISO-8859-1 编码加载,中文需转成 \uXXXX 转义,或改用 Java 9+ 的 Reader 方式以 UTF-8 读取。若文件按 UTF-8 保存却用旧的 InputStream 方式加载,就会出现乱码。
键和值里能包含空格、等号吗?
能。键与值默认用 =、: 或空格分隔,键本身若含这些字符要用反斜杠转义。值里第一个分隔符之后的等号无需转义,但值的前导空格会被忽略,想保留就得用 \ 转义。

相关工具

相关名词