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

回到顶部