我有一个字符串,包含例如"Name: Foo n Date: 12/13/11 n"
当我做BufferedWriter.write(String)到一个文本文件,它实际上输出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();
输出将是
http://img7.imageshack.us/img7/7694/exampleve.pngWindows使用CR+LF行结束符而不是LF结束符。您应该能够使用rn
来获得您想要的结果。
维基百科有一篇关于换行符的文章。
如果字符串包含文本n而不是字符n,那么您可以执行
String text = "Line 1 \n Line2";
System.out.println(text);
System.out.println(text.replace("\n", "n"));
这很奇怪,我刚刚测试了下面的代码,结果文件显示了两行消息:
public void test() throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter("/someDir/test.txt"));
writer.write("HellonWorld");
writer.close();
}
结果:Hello
World