【发布时间】:2012-12-04 05:50:00
【问题描述】:
我正在从数据库表中导出数据并将其写入文件中。换行符从数据库中正确检索并在写入字符串时保留(因此我能够重新导入导出的数据)。
我的问题是文件中的换行符是隐式的(即它们显示为换行符)。如果数据库值为字符串“line1 \r\n line2”,直接发送这个String给我的BufferedWriter + FileOutputStream的结果是 “第 1 行 第2行“
有什么方法可以将“line1 \r\n line2”字符序列准确地写入文件? (我已经尝试过 bw.write(value.toCharArray())
【问题讨论】:
-
虽然它们显示为换行符(因为它们就是这样),但字符仍然存在。如果需要验证,以编程方式加载文件并将其显示为字符数组以验证这一点。
-
我知道信息在那里(这就是为什么我可以重新导入数据库中的数据)但我希望能够告诉 Java 不要解释它们,而只是将它们打印为字符串,就好像它们是普通字符一样(只是让数据库在导入文件时重新解释它们)。否则文件会太长
-
您可以在这里找到答案:[从缓冲区读取时省略换行符][1] [1]:stackoverflow.com/questions/4825263/…
-
您需要对每个转义字符进行
replaceAll,并转义其反斜杠。一个例子:str.replaceAll("\n", "\\n"). -
你说得对,这应该可以。您可能希望将此添加为答案而不是评论,以便我可以将其标记为正确