在 Java 的 FileWriter 中新建一行

新手上路,请多包涵

我编写了以下代码 FileWriter

 try {
    FileWriter writer = new FileWriter(new File("file.txt"), false);

    String sizeX = jTextField1.getText();
    String sizeY = jTextField2.getText();
    writer.write(sizeX);
    writer.write(sizeY);

    writer.flush();
    writer.close();
} catch (IOException ex) {}

现在我想插入一个新行,就像您通常使用 \n 一样,但它似乎不起作用。

可以做些什么来解决这个问题?

谢谢你。

原文由 st.math 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 678
2 个回答

如果您想获取当前操作系统中使用的 _换行符_,例如 \r\n 对于 Windows,您可以通过以下方式获取它们

  • System.getProperty("line.separator");
  • 自 Java7 System.lineSeparator()
  • 或如斯图尔特所述,通过 String.format("%n"); 生成它们

您还可以使用 PrintStream 及其 println 方法,该方法将自动在字符串末尾添加操作系统相关的行分隔符

PrintStream fileStream = new PrintStream(new File("file.txt"));
fileStream.println("your data");
//         ^^^^^^^ will add OS line separator after data

(顺便说一句 System.out 也是 PrintStream 的实例)。

原文由 Pshemo 发布,翻译遵循 CC BY-SA 3.0 许可协议

试试 System.getProperty( "line.separator" )

    writer.write(System.getProperty( "line.separator" ));

原文由 Prabhaker A 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题