我必须更新属性文件中标记的值。我不得不在更新后继续保存文件的布局,所以我使用的是PropertiesConfiguration API形式的APACHE。
我已经完成了这项工作,功能正在按预期工作。现在这些vales的键很少有反斜杠()和正斜杠(/)。当我更新时,它会被改变。反斜杠被删除,更新和正斜杠(/)变为/ this。以下是我正在使用的示例代码
properties = new PropertiesConfiguration(("Dbconnect - Copy.properties"));
properties.setProperty("ConfigFilePath", "C:\\Amitabh\\Projects\\");
properties.save();
System.out.println("config.properties updated Successfully!!");
只知道我将如何预防。 谢谢&问候 Amitabh Pandey
答案 0 :(得分:1)
如果你在这里查看https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html
您将看到属性文件中的斜杠具有特殊含义。它们用于转义属性中的字符 - 例如,跨多行传播属性。因此,在将它们写入属性文件之前,您应该用双斜杠替换它们(实际上变为\\\\
)
如果您不使用Java标准属性读取器并自己读/写文件,则不会出现此类问题。例如,您可以将其作为文本文件打开,只需将属性添加到最后,基本上覆盖其他时间 - 作为解决方法。但最好尝试使用双倍(4)斜线