" \ n"使用PrintWriter将字符串保存到文本时不添加新行

时间:2016-04-07 16:11:09

标签: java newline printwriter

我想使用out.print将字符串打印到文本,但字符串中的\n不起作用。

以下是代码:

import java.io.PrintWriter;

public class LetterRevisited{
    public static void main(String[] args)throws Exception
    {
        PrintWriter out = new PrintWriter("Test.txt");
        out.println("This is the first line\n" +
        "This is the second line" );
    out.close();
    }
}

但是在保存的文件中没有创建新行,所有行都是相继的。 知道如何解决这个问题吗? (旁边将out.println添加到所有行。)

编辑:我使用Windows命令提示符编译并运行代码,并使用记事本打开文件。

2 个答案:

答案 0 :(得分:12)

不同的平台使用不同的行分隔符。

  • Windows使用\r\n
  • 类Unix平台使用\n
  • Mac现在也使用\n,但过去常常使用\r

(您可以查看更多信息和变体here

您可以获得本地"行分隔符使用

System.getProperty("line.separator")

e.g。

out.println("Hello" + System.getProperty("line.separator") + "World");

但是,在字符串格式化程序中使用%n更容易:

out.printf("Hello%nWorld%n");

如果您要定位特定平台,则可以使用文字。

答案 1 :(得分:1)

如果您使用的是Java 7,则可以使用System.lineSeparator()..看看这是否有帮助。对于旧版本的Java,您可以使用 - System.getProperty(" line.separator")

示例: System.out.println(System.lineSeparator()+"这是第二行");