java用新行写到文件末尾

时间:2012-05-15 22:36:58

标签: java

我想使用java

将结果写到文件的末尾
FileWriter fStream;
        try {
            fStream = new FileWriter("recallPresision.txt", true);
            fStream.append("queryID=" + queryID + "         " + "recall=" + recall + "           Pres=" + presision);
            fStream.append("\n");
            fStream.flush();
            fStream.close();
        } catch (IOException ex) {
            Logger.getLogger(query.class.getName()).log(Level.SEVERE, null, ex);
        }

我将"\n"放在语句中,它写入文件但不是新行

我想用新行打印结果

5 个答案:

答案 0 :(得分:10)

换行符序列取决于系统。在某些系统上\n,在其他系统上\n\r\r\n\r或其他完全不同的系统。幸运的是,Java有一个内置属性,允许您访问它:

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

答案 1 :(得分:7)

错误

fStream.append("\n");

// don't guess the line separator!
fStream.append(System.getProperty("line.separator"));

答案 2 :(得分:2)

它会打印换行符,你想要的是最后一个空行。添加另一个\n

答案 3 :(得分:2)

请尝试使用\r\n

此外,您应该会发现,如果您在富文本编辑器(如wordpad)中打开文本文件,那么您的附加功能实际上已经有效。

编辑:忽略我。杰弗瑞和安德鲁的答案要好得多。

答案 4 :(得分:2)

您还可以更改为:

fStream = new FileWriter("recallPresision.txt", true);
PrintWriter out = new PrintWriter(fStream);
out.println("queryID=" + queryID + "         " + "recall=" + recall + "           Pres=" + presision);
out.flush();
out.close();
fStream.close();