我有以下代碼:爲什麼PrintWriter.print(string)方法不會將文本流式傳輸到輸出文件中並在寫入文本之前等待關閉?
PrintWriter logput = new PrintWriter("path\\log.txt", "UTF-8");
for (String symb : symbolList) {
System.out.println(symb);
logput.println(symb);
}
logput.close();
for循環運行了幾個小時,所以我最終停止程序。當我檢查log.txt時,它是空的,而System.out每次迭代打印symb
值沒有問題。這意味着println方法在有效地將文本寫入文件之前等待close方法調用。
這是很對我不好,有沒有寫文本文件與Java是沒有這個問題的任何其他方式?
編輯:flush()方法完成這項工作,感謝評論。另外還有誰能告訴我如何防止PrintWriter logput = new PrintWriter("path\\log.txt", "UTF-8");
從log.txt中刪除預先存在的內容?
符號表有什麼用途? – 2014-09-01 01:32:42
這是一個字符串列表 – Wicelo 2014-09-01 01:33:38
嘗試在寫入之後調用'logput.flush()'。 – 2014-09-01 01:34:23