当前位置: 首页 > 面试题库 >

Java:BufferedWriter跳过换行符

单勇
2023-03-14
问题内容

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

例如, 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约定读取和写入文件。
标准的Windows编辑器记事本不是其中之一 (尽管Wordpad是)。

如果将字符串更改为:记事本应正确显示输出:

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

如果您想要一种与平台无关的表示换行的方式,请使用System.getProperty("line.separator");对于a的特定情况BufferedWriter,请遵循bemace的建议。



 类似资料:
  • 读取文件已支持 windows 系统,版本号大于等于 1.3.4.1; 扩展版本大于等于 1.2.7; PECL 安装时将会提示是否开启读取功能,请键入 yes; 测试数据准备 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ // 写入测试数据 $filePath = $excel->f

  • 问题内容: 我正在使用以下内容读取文件的各行, 现在,我想跳过读取文件的第一行,并且不想使用计数器行来保持行数。 这该怎么做? 问题答案: 你可以试试这个

  • 问题内容: 编辑:感谢你们的快速反应-我最终切换到mysql_fetch_assoc()并使用do … while,我很高兴。 我正在使用相同的过程来创建和填充表-一切正常,除了 在每个表中跳过第一行 。由于我似乎无法查明问题,可以用另一双眼睛。提前致谢。 问题答案: 您正在调用mysql_fetch_array两次…循环前一次,循环时一次。 如果您需要种子行来构建标题行,则最好在此处使用do .

  • 问题内容: 从CSV读取数据时,它会跳过第二行。我有两个CSV文件,一个用于用户,一个用于属性-密钥ID是user。 我与以下用户一起运行 每个奇数编号都在工作,并且检测到用户已登录,而第二个奇数编号正在跳过。我阅读了一下,但我不认为我有.nextLine()正在像此链接中那样跳过,但是我只在星期五开始使用CSV和BufferedReader! 问题答案: 它跳过第二行,因为您在每次迭代中都读取两

  • 问题内容: 我见过其他有此问题的人,但我见过的解决方案没有帮助我,或者我不知道如何使用它们:P 我的代码正在跳过数据库的第一行,但我不明白为什么。 问题答案: 删除行: 该循环将抢在第一次循环中的第一行。 结果代码:

  • 我使用下面的读取文件的行, 现在,我想跳过读取文件的第一行,我不想使用计数器行来记录行数。 这要怎么做?