リスト構造は別にデータを詰めないでしょ。
配列構造だな。
普通に地道に詰めるしかないと思うよ。
強いて言うなら、ファイルの書き込みに失敗した時にファイルが壊れて欲しくないなら、
一旦別ファイルを作って、成功したときのみリネームするようにした方がいい。