Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 替换属性文件上的所有反斜杠_Java_Android_File Io_Properties - Fatal编程技术网

Java 替换属性文件上的所有反斜杠

Java 替换属性文件上的所有反斜杠,java,android,file-io,properties,Java,Android,File Io,Properties,我在查看正在测试的属性文件时发现,每次执行属性.store()时,包含:和/等字符的值都会收到反斜杠,但我希望我的属性文件被其他非Java编写的程序读取(因此他们不会使用属性库),这些反斜杠会在他们身上造成问题。有没有办法在没有这些反斜杠的情况下保存文件 我已尝试构建此函数,该函数在保存Properties文件后调用: private void replaceInFile(File file) throws IOException { File tmpFile = new File("

我在查看正在测试的
属性
文件时发现,每次执行
属性.store()
时,包含
/
等字符的值都会收到反斜杠,但我希望我的属性文件被其他非Java编写的程序读取(因此他们不会使用
属性
库),这些反斜杠会在他们身上造成问题。有没有办法在没有这些反斜杠的情况下保存文件


我已尝试构建此函数,该函数在保存
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();
}
但是当调用函数时,我得到了这个错误:

02-03 13:05:34.757:E/AndroidRuntime(15558):java.util.regex.PatternSyntaxException:索引1附近的语法错误U_regex_BAD_ESCAPE_序列:
\
^


这些是特殊字符。它们必须用斜杠转义

=
是区分键和值的符号。如果您有
foo=bar=baz
?或
foo:bar:baz
?哪个是键,哪个是值

如果您想强制执行不同的规则,那么请实现您自己的机制,不要使用
java.util.Properties
。有关完整的规则集,请参阅


存储属性后,您可以1.读取字符串2.替换转义字符。3.将新字符串写入文件。

这些是特殊字符。它们必须用斜杠转义

=
是区分键和值的符号。如果您有
foo=bar=baz
?或
foo:bar:baz
?哪个是键,哪个是值

如果您想强制执行不同的规则,那么请实现您自己的机制,不要使用
java.util.Properties
。有关完整的规则集,请参阅

存储属性后,您可以1.读取字符串2.替换转义字符。3.将新字符串写入文件。

是否可以改用storeToXML()来解决问题。是否可以改用storeToXML()来解决问题。