保存到属性文件转义:

当我存储属性文件时,有谁知道为什么冒号会被转义?

我这样做:

Properties prop = new Properties(); // Set the properties value. prop.setProperty("url","http://localhost:7101/test/home"); 

并存储使用:

 prop.store(new FileOutputStream(propFile), null); 

它正在工作,但由于某些原因输出冒号逃脱:

 url=http\://localhost\:7101/test/home 

有人知道修复吗?

在属性文件中,这两个都是合法的:

 key1 = value key2: value 

所以=和:必须被转义。

现在,如果您使用Properties阅读该内容,则没有问题。 否则,您将不得不编写自定义代码

这就是store() API的作用: –

检查键和元素字符串的每个字符以查看它是否应该呈现为转义序列。 ASCII字符\,制表符,换页符,换行符和回车符分别写为\,\ t,\ f \ n和\ r \ n。 小于\ u0020且字符大于\ u007E的字符将写为\ uxxxx,表示相应的hex值xxxx。 对于键,所有空格字符都使用前面的\字符写入。 对于元素,前导空格字符,但不是嵌入或尾随空格字符,使用前面的\字符编写。 键和元素字符#,!,=和:使用前面的反斜杠写入,以确保它们已正确加载。

只要您使用Properties获取值,对您来说就不重要了。