Java属性文件中等号和冒号的区别

Posted

技术标签:

【中文标题】Java属性文件中等号和冒号的区别【英文标题】:Difference between equals and colon in Java properties file 【发布时间】:2016-08-31 19:05:01 【问题描述】:

在 spring 中,您可以使用不同的属性文件来配置消息,因此它们往往是这样的:

message.key=text here
another.message.key=another text here

但今天我在一个项目中看到它使用的是这种格式:

message.key:text here
another.message.key:another text here

我认为这适用于任何 Java 属性文件,但如果有的话有什么区别?

【问题讨论】:

也许en.wikipedia.org/wiki/.properties 值得一读 equals 在 java 中,冒号在 YAML...edit oops 已经被其他人回答了 【参考方案1】:

如果您真的在谈论标准 Java Properties 文件,那么冒号和等号之间没有区别。任何一个都可以从它的值中划定一个键。事实上,如果你想惹恼读者,你甚至可以将它们混合在同一个文件中。

【讨论】:

【参考方案2】:

文件有不同的格式。

第一个是普通的属性格式。

第二个文档是 YAML 语言。

YAML 数据在 Spring 使用时将被转换为属性。所以这两种格式的结果完全相同。见https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-yaml

【讨论】:

@erickson 是正确的;两者都是有效的 java.util.Properties 格式,至少从 JDK 1.2 开始。有关详细信息,请参阅 java.util.Properties 的文档,但这里是 JDK 1.7 的报价:“密钥包含行中的所有字符,从第一个非空白字符开始,直到但不包括第一个未转义的 '='、':' 或除行终止符之外的空白字符。"

以上是关于Java属性文件中等号和冒号的区别的主要内容,如果未能解决你的问题,请参考以下文章

Lua中调用函数使用点号和冒号的区别

驱动器号和冒号后没有斜杠的 Windows 路径 - 它指向啥?

Java jdom解析xml文件带冒号的属性

js获取id号和class类名的区别

js获取id号和class类名的区别

Java常识6.0面向对象认知和Eclipse的实用使用==号和equals方法的区别