1

クラスを持つテキストファイルから特定の行を (インデックスで) 削除するにはどうすればよいorg.apache.commons.io.FileUtilsですか?

削除する行のインデックスはすでに彼を知っているので、ファイルから特定の行を削除する方法が必要です。

4

1 に答える 1

0

同じライブラリの lineIterator 関数を利用できます。

  • ファイルの行反復子を取得する
  • lineIterator を繰り返し処理し、一時ファイルに書き込みます。
  • 現在の反復のインデックスを維持します。上記の手順で、行番号がスキップしたい番号と一致する場合は、一時ファイルに書き込まないでください。
  • 両方のファイルを閉じます (例外の場合はケースを処理します。finally も使用する場合があります)。
  • 古いファイルを削除します。
  • 一時ファイルの名前を新しいファイルに変更します

参考までに、 Iterator は遅延してメモリにロードされ、 next が呼び出されると前の行への参照が削除されます。[@Obicere : また、質問に直接コメントすることはできませんが、すべての行をメモリにロードするのは良い考えではありません。]

于 2014-04-13T17:39:57.157 に答える