我正在使用一个属性文件来存储我的应用程序的配置值。
在其中一种情况下,我必须将值存储为
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/