一般情况下的Properties属性写入到文件:Properties properties = new Properties();
properties.store(writer,"");//writer为OutputStream流对象
但是,这样写入到文件会出现英文冒号被转义为\:的问题,原因如下:
Properties属性文件有两种模式:key=value和key:value.所以冒号会被自动转义,如何解决?
不要使用properties.store(writer,"");方法,自己遍历Properties属性和值,然后通过OutputStream流对象输出到文件即可,代码如下:OutputStream os = new FileOutputStream(filePath);
Enumeration> e = properties.propertyNames();
//这里不使用Properties的store()方法,因为冒号会被转义
while (e.hasMoreElements()){
String key = (String) e.nextElement();
String value = properties.getProperty(key);
String s = key + "=" + value+"\n";
os.write(s.getBytes());
}
os.flush();
OK,这样就解决了