我有一段Java代码,将一些内容(地址)写入用户属性文件:
address_string = "http://"+address.getText()+":"+port.getText();
properties.setProperty("url", address_string);
prop.store(new FileOutputStream("user.properties"), "");
但是,当我检查user.properties时,没有得到正常的http地址,而是得到了以下内容:
http\://localhost\:9000/softwarearchive/
冒号前面加反斜杠
我该如何解决这个问题?
最佳答案
属性文件具有特定的结构。参见:http://en.wikipedia.org/wiki/.properties
冒号是属性文件中的特殊元字符。如果要将键/值对存储在其中包含冒号的值中,则应将其转义以避免混淆。 Java的属性编写库正在为您完成转义。
如果使用properties.getProperty()
,会得到所需的字符串吗?如果是这样,一切都很好。