一尘不染

在Java的FileWriter中创建新行

java

我已经编写了以下代码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通常要插入的那样,但是它似乎不起作用。

如何解决这个问题?

谢谢。


阅读 250

收藏
2020-09-08

共1个答案

一尘不染

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

  • System.getProperty("line.separator");
  • 从Java7开始 System.lineSeparator()
  • 或如Stewart所述,通过 String.format("%n");

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

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

(BTW System.out也是PrintStream的实例)。

2020-09-08