我正在将文件的路径保存为使用Java中的属性到配置文件中。
this.adb = adb.getAbsolutePath();
this.prop.setProperty("adb", this.adb);
//save config to project root folder
this.prop.store(new FileOutputStream("config"), null);
保存后配置文件的内容为:
adb=C\:\\Program Files\\Genymobile\\Genymotion\\tools\\adb.exe
如何将保存为没有转义字符,以便用户可以轻松手动修改路径,而无需输入转义字符。
我还尝试手动保存配置文件而不使用转义字符,但程序将该属性读取为:
C:Program FilesGenymobileGenymotion oolsadb.exe
从配置文件中读取属性的代码是:
prop.load(new FileInputStream("config"));
this.adb = prop.getProperty("adb");
答案 0 :(得分:2)
java.util.Properties.store使用反斜杠来转义特殊字符(例如等号属性键),因此字面反斜杠本身需要转义\\。如果这种行为不是你想要的,不要使用java.util.Properties,推出你自己的实用程序属性类,这应该是一个简单的练习。如果您不确定转义字符是什么,请查看此维基百科page。
Properties类中的相关代码(saveConvert方法)
if (aChar == '\\') {
outBuffer.append('\\'); outBuffer.append('\\');
continue;
}