Nat*_*pos 1 java file-io android properties
我正在查看Properties我正在测试的文件,我意识到每次我执行Properties.store()包含字符的值:并/接收反斜杠,但我希望我的属性文件被其他不是用Java编写的程序读取(所以他们不会使用Properties库)那些反斜杠会导致它们出现问题.有没有办法保存文件没有那些?
我已经尝试构建此函数,该函数在Properties文件保存后调用:
private void replaceInFile(File file) throws IOException {
File tmpFile = new File("/sdcard/test.prop");
FileWriter fw = new FileWriter(tmpFile);
Reader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while (br.ready()) {
fw.write(br.readLine().replaceAll("\\", "") + "\n");
}
fw.close();
br.close();
fr.close();
}
Run Code Online (Sandbox Code Playgroud)
但是在调用函数时我收到此错误:
02-03 13:05:34.757:E/AndroidRuntime(15558):java.util.regex.PatternSyntaxException:索引1附近的语法错误U_REGEX_BAD_ESCAPE_SEQUENCE:
\
^
这些是特殊字符.他们必须用斜线逃脱.
=并且:是将键与值分开的符号.如果你有foo=bar=baz什么?还是foo:bar:baz?哪个是关键,哪个是价值
如果要强制执行不同的规则,请实现自己的机制,不要使用java.util.Properties.有关完整的规则,请参阅Properties.load(..)
存储属性后,您可以读取字符串2.替换转义字符.3.将新字符串写入文件.