java写入文本文件

时间:2011-05-03 05:34:10

标签: java

我希望打印以下内容

测试1

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) {}
    }
}

6 个答案:

答案 0 :(得分:35)

尝试out.newLine();

所以,它会是

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

Source (Java API)

答案 1 :(得分:8)

您需要有两个\n\n才能显示空行。 试试

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

在您的情况下(使用一个\n),它将打破当前行并移动到新行(这是下一行),但空行不会出现。

换行符可以依赖于platform,因此最好使用

从java系统属性中获取换行符。
public static String newline = System.getProperty("line.separator");

答案 2 :(得分:3)

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

试一试。

答案 5 :(得分:0)

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