Java:BufferedWriter跳过换行符
我正在使用以下函数将字符串写入文件。该字符串用换行符格式化。
例如, text = "sometext\nsomemoretext\nlastword";
我可以在执行以下操作时看到输出文件的换行符:
type outputfile.txt
但是,当我在记事本中打开文本时,看不到换行符。一切都显示在一行中。
为什么会这样。如何确保正确编写文本,以便能够在记事本中正确看到(格式化)。
private static void FlushText(String text, File file) {
Writer writer = null;
try
{
writer = new BufferedWriter(new FileWriter(file));
writer.write(text);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (writer != null)
{
writer.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
回答:
在窗口上,按照惯例,换行符表示为回车符,后跟换行符(CR + LF),即\r\n
。
从换行维基页面:
文本编辑器通常用于在不同的换行格式之间转换文本文件。大多数现代编辑器至少可以使用不同的ASCII CR / LF约定读取和写入文件。
(尽管Wordpad是)。
如果将字符串更改为:记事本应正确显示输出:
text = "sometext\r\nsomemoretext\r\nlastword";
如果您想要一种与平台无关的表示换行的方式,请使用System.getProperty("line.separator");
对于a的特定情况BufferedWriter
,请遵循bemace的建议。
以上是 Java:BufferedWriter跳过换行符 的全部内容, 来源链接: utcz.com/qa/402100.html