簡體   English   中英

如何在JAVA中使用PrintWriter從頂部寫回?

[英]How to write back from top using PrintWriter in JAVA?

使用PrintWriter寫入txt文件。 但是現在我有一個問題:寫完幾行后可以從第一行開始寫嗎? 例如,我寫了:

PrintWriter out = new PrintWriter("result.txt");
out.print("first line");
out.print("second line");

然后,我可以從第一行寫回嗎? 因此,可以在第一行之前編寫String top =“ top line”,如下所示:

top line
first line
second line

問題是,只有在編寫“ top line”和“ second line”之后才能獲取String top的內容。 如何寫入文件的開頭?

謝謝!

一種簡單的實現方法是,將整個文件作為字符串讀取,將前綴行附加到文件的開頭,然后使用PrintWriter對象用String的內容覆蓋文件的內容。 它不是您想要的,但是效果完全相同。 :)

使用RandomAccessFile類及其seek方法,但在最上面寫不會插入行,但會覆蓋它們。 不是你想要的。 我同意JB Nizet的評論,最好是先計算,然后編寫。

如果您知道第一行的大小,則必須寫'XXXXXXXXXXXXXXX'來填充它,並在寫完其他行之后,回到頂部,並用字符數相同的好行替換它。 可能但不建議。

暫無
暫無

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

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