簡體   English   中英

java用新行寫到文件末尾

[英]java write to the end of file with new line

我想用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"放在語句中,它寫入文件但不是新行

我想用新行打印結果

換行序列取決於系統。 在某些系統上它\\n ,在其他系統上它是\\n\\r\\r\\n\\r \\r\\n或其他完全不同的東西。 幸運的是,Java有一個內置屬性,允許您訪問它:

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

錯誤

fStream.append("\n");

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

它確實打印換行符,你想要的是最后一個空白行。 添加另一個\\n

請嘗試使用\\r\\n而不是。

此外,您應該會發現,如果您在富文本編輯器(如wordpad)中打開文本文件,那么您的追加實際上是有效的。

編輯:忽略我。 傑弗瑞和安德魯的答案要好得多。

你也可以改為:

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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM