java写入文本文件

我想要打印以下内容

TEST1

TEST2

TEST3

TEST4

但我似乎无法将文本提交到下一行。

请帮忙

import java.io.*; public class MainFrame { public static void main(String[] args) { try { BufferedWriter out = new BufferedWriter(new FileWriter("file.txt")); for (int i = 0; i < 4; i++) { out.write("test " + "\n"); } out.close(); } catch (IOException e) {} } } 

试试out.newLine();

所以,它会

 for (int i = 0; i < 4; i++) { out.write("test " + "\n"); out.newLine(); } 

源(Java API)

您需要两个\n\n才能有一个空行。 尝试

 out.write("test " + "\n\n"); 

在你的情况下(有一个\n ),它将打破当前行并移动到一个新行(这是下一行)但空行不会到来。

换行符可以依赖于平台 ,因此最好使用java系统属性获取换行符

 public static String newline = System.getProperty("line.separator"); 

如果要生成文本,可能更容易在BufferedWriter之上创建PrintWriter,并使用PrintWriter中的方法(如println)进行写入。

给定的答案System.getProperty("line.separator")足够好,但也尝试out.write("test " + "\r\n"); 它可能会工作,因为某些操作系统中的换行符是\r\n而不是\n

根据您打开文件的文本编辑器以及您正在使用的操作系统,您可能必须使用“\ r \ n”而不是“\ n”。

试一试。

考虑到你有一个空的catch块,可能是你得到一个exception并隐藏它。 删除catch块并将throw IOException添加到方法定义中,这样如果您收到exception,就可以看到它。