我有一个字符串,其中包含例如“姓名:Foo \ n日期:12/13/11 \ n”
当我对文本文件执行BufferedWriter.write(String)时,它实际上会输出\ n无论如何要在\ n上替换\ n,以便在写入文本文件时表示换行符?
以下是示例代码。
String input = "Name: adfasd \n AN: asdfasdf \n";
Writer textOutput = null;
File file = new File("write.txt");
textOutput = new BufferedWriter(new FileWriter(file));
textOutput.write( input );
textOutput.close();
输出为
答案 0 :(得分:2)
Windows使用CR + LF行结尾而不是LF结尾。您应该可以使用\r\n
来获得所需的结果。
维基百科有一篇关于newlines的文章,如果你想了解更多。
答案 1 :(得分:1)
如果字符串包含文本\ n而不是字符\ n,则可以执行
String text = "Line 1 \\n Line2";
System.out.println(text);
System.out.println(text.replace("\\n", "\n"));
答案 2 :(得分:1)
这很奇怪,我刚刚测试了下面的代码,结果文件在两行显示消息:
public void test() throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter("/someDir/test.txt"));
writer.write("Hello\nWorld");
writer.close();
}
结果:
Hello
World