保存到属性文件转义:

时间:2011-03-04 19:38:56

标签: java properties

有没有人知道为什么在存储属性文件时冒号会被转义?

我这样做:

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

任何人都知道修复?

2 个答案:

答案 0 :(得分:15)

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

key1 = value
key2: value

因此,必须转义=和:

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

答案 1 :(得分:2)

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

  

键和元素的每个字符   检查字符串以查看是否存在   应该作为一种逃避   序列。 ASCII字符\,标签,   换页,换行和运输   return被写为\,\ t,\ f \ n,   和\ r,分别。字符少   比\ u0020和字符更大   比\ u007E写为\ uxxxx for   适当的十六进制值   XXXX。对于钥匙,所有空间   字符用a写的   前面的\字符。为了   元素,领先的空间字符,但是   没有嵌入或尾随空间   字符,写着   前面的\字符。关键和   元素字符#,!,=和:是   用前面的反斜杠写的   确保它们正确装载。

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