gpt4 book ai didi

Java:BufferedWriter 跳过换行符

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:41 32 4
gpt4 key购买 nike

我正在使用以下函数将字符串写入文件。该字符串使用换行符进行格式化。

例如,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();
}
}
}

最佳答案

在 Windows 上,按照惯例,换行符表示为回车符后跟换行符 (CR + LF),即 \r\n

来自Newline wikipedia page :

Text editors are often used for converting a text file between different newline formats; most modern editors can read and write files using at least the different ASCII CR/LF conventions. The standard Windows editor Notepad is not one of them (although Wordpad is).

如果您将字符串更改为:

,记事本应该会正确显示输出:

text = "sometext\r\nsomemoretext\r\nlastword";

如果您想要一种独立于平台的方式来表示换行符,请使用 System.getProperty("line.separator"); 对于 BufferedWriter 的特定情况>,按照 bemace 的建议去做。

关于Java:BufferedWriter 跳过换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066958/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com