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,就可以看到它。