今天無意間看到java.io中有一個類:RandomAccessFile,可以在文件的任意位置進行讀寫操作,想到我之前寫的一個小項目,想在txt中修改某一行的內容,都是從頭遍歷txt文件,修改這一行的同時,把整個文件放入緩存,再把修改后的內容重新寫入文件,可以說是很蠢了,但一直沒找到好的辦法。
這個RandomAccessFile可以從特定的某一行開始讀寫文件,這樣就比我之前的辦法好一些了。但是,RandomAccessFile不能像文件的指定位置插入內容。如果強制將文件記錄指針移動到中間位置后開始輸出內容,則新的內容會覆蓋文件中原有的內容。所以還是要要先把插入點后面的內容讀入緩沖區,等插入完成后,再講緩沖區的內容追加到文件的后面。