无法写入:在属性文件中

时间:2013-10-07 04:23:08

标签: java

在我的应用程序中,用户可以更改propery文件..但该文本包含:冒号。使用obj.setProperty(“key”,“value”)时,它会传递\:

请找到以下示例代码并且需要。

String url="http://google.co.in";
Properties p=new Properties();
FileOutputStream o=new FileOutputStream("abc.properties");
p.setProperties("testurl",url);
p.store(o,null);
o.close();

谢谢 Praveenkumar V

2 个答案:

答案 0 :(得分:2)

参考Properties课程的store方法API。它表示字符#, !, =, and :以逃避反斜杠保存。

  

键和元素字符#,!,=和:用a写   在反斜杠之前,以确保它们正确加载。

如果您在“属性”类中使用load方法读回保存的文件,则会出现问题。如果没有,您将必须编写自己的自定义代码以在加载时转义这些字符。

答案 1 :(得分:1)

这是班级的正常行为。 阅读javadocs:Properties

它说:

  

无法在此编码中直接表示的字符可以使用Unicode转义编写

冒号是其中一个角色。