我必須運行一個Java程序,該程序需要跟蹤用戶所做的事務。我需要在.txt文件中記錄這些事務。 一切都很好用我的代碼,期望我看不到.txt文件 - 它不會被創建 - 直到程序關閉。Java:在程序運行時更新.txt文件並能夠看到更改
我們項目的目標是能夠在程序運行時看到該文件實時更新。用戶完成訂單#1,並且該訂單的交易記錄到.txt文件中,並且可以立即看到所做的更改 - 程序仍在運行。用戶完成訂單#2,並將該訂單的交易附加到.txt文件 - 同樣,程序正在運行。
我使用:
PrintWriter out;
out = (new PrintWriter(new FileWriter("log.txt", true)));
(writes lines to file)
out.flush();
out.close();
此代碼是一個被調用每一個用戶完成他或她的訂單時間方法中。一旦訂單完成,log.txt文件應立即反映所做的更改,而不必退出程序。我花了幾個小時尋找如何做到這一點,但我沒有成功。我對Java和編程也相對陌生;因此,非常感謝任何指導。
謝謝。
這可能是文本編輯器的錯,而不是程序。如果您重新打開文件,內容是否更新? –
感謝您的評論。沒有更新。當log.txt文件尚不存在時 - 它將被創建 - 在程序退出之前,它不存在於目錄中。我也使用IntelliJ來運行該程序。 log.txt只在程序結束時顯示。 –
http://stackoverflow.com/questions/4964169/is-there-a-way-to-force-a-file-to-be-written-in-java-so-that-after-the-function –