java - 你如何转义冒号(:) in Properties file?

标签 java properties escaping key-value colon

我正在使用一个属性文件来存储我的应用程序的配置值。 在其中一种情况下,我必须将值存储为 xxx:yyy:zzz。当我这样做时,冒号被反斜杠\ 转义,导致属性文件中的值显示为 xxx\:yyy\:zzz

我知道冒号 :Properties Java 类的标准分隔符。但是我仍然需要在没有反斜杠 \ 的情况下保存值。

关于如何处理这个问题有什么建议吗?

最佳答案

将属性放入Properties 对象并使用store(...) 方法保存它。该方法将执行所需的任何转义。 Java documentation说:

"... For the key, all space characters are written with a preceding \ character. For the element, leading space characters, but not embedded or trailing space characters, are written with a preceding \ character. The key and element characters #, !, =, and : are written with a preceding backslash to ensure that they are properly loaded."

如果您手动创建/写入文件,则只需要手动转义字符。


相反,如果您希望文件包含未转义的冒号字符,那您就不走运了。这样的文件格式不正确,可能无法使用 Properties.load(...) 方法正确加载。如果您走这条路,您将需要实现自己的自定义加载和/或存储方法。

关于java - 你如何转义冒号(:) in Properties file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699055/

相关文章:

javascript - 删除IE中的窗口属性

java - 覆盖 log4j 不起作用

bash - Bash 转义字符 "\c"是什么?

c# - SQL 字符串中的单引号处理

java - 如何创建类似 Google map (可拖动 map )的用户界面?

java - 同步串流

reflection - 在 C# 4 中使用动态类型访问 javascript 对象的属性

java字符串用单引号替换反斜杠双引号

java - 如何在全屏独占模式下摆脱鼠标光标?

Java:如何创建一个接受第一个元素的列表的列表 cons