2013-03-27 105 views
0

我試圖將java控制檯的內容保存到文本文件中,但每次關閉該程序時,文本文件都會變爲空白並重寫爲該文件。即如果我今天寫信給一個文件,關閉該程序並明天再次運行它,它已經記住了寫入它的信息。寫入文件?

任何幫助將是巨大的

+1

你能否粘貼一個能重現問題的小例子? – 2013-03-27 23:28:50

+0

查看[Log4J](http://logging.apache.org/log4j/1.2/)。 – jahroy 2013-03-27 23:29:34

+0

是的,我正在使用Scanner類來讀取用戶輸入並使用PrintWriter將它們寫入文件,我試圖寫入數據,以便它保留在文本文件中,並且在每次關閉程序後都不會擦除。 – user2215240 2013-03-27 23:32:36

回答

3

你想在append mode打開OutputStream。演示代碼:

PrintWriter out = new PrintWriter(
        new FileOutputStream(new File(filename), true)); 

您遇到的問題是將流寫入文件時的正常行爲,這不是特定於Java API的。

+2

+1;我會添加一個[對文檔的引用]( )指出第二個構造函數具有名爲「append」的第二個布爾參數,但爲了完整性。 – RobIII 2013-03-27 23:40:08

+0

謝謝:)已經做到了,但嘿!在SO的服務器上緩存失效是CS中兩個最難的事情之一:P – Raffaele 2013-03-27 23:42:43

+0

LOL @ cache失效! :d – RobIII 2013-03-27 23:46:23