Java:FileWriter:创建一个新行

st.*_*ath 34 java io 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) {}
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个新行,就像你可以通常使用"\n"一样,但它似乎不起作用......

有谁知道如何制作这样一条新线?

提前致谢!:)

Psh*_*emo 54

如果你想获得当前操作系统中使用的新行字符,比如\r\nWindows,你可以通过它获取它们

  • System.getProperty("line.separator");
  • 自Java7以来 System.lineSeparator()
  • 或者如斯图尔特所提到的那样 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 
Run Code Online (Sandbox Code Playgroud)

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


Pra*_*ker 28

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

   writer.write(System.getProperty( "line.separator" ));
Run Code Online (Sandbox Code Playgroud)


Ste*_*art 6

尝试包装你FileWriterBufferedWriter:

BufferedWriter bw = new BufferedWriter(writer);
bw.newLine();
Run Code Online (Sandbox Code Playgroud)

这里是BufferedWriter的Javadocs .