Java FileUtils:从文件中删除特定行

时间:2014-04-13 17:24:03

标签: java fileutils

如何从类org.apache.commons.io.FileUtils的文本文件中删除特定行(按索引)?

要删除的行的索引已经知道了,所以我需要一些方法来删除文件中的特定行。

1 个答案:

答案 0 :(得分:0)

您可以使用同一个库的lineIterator功能。

  • 获取文件的行迭代器
  • 遍历lineIterator并将其写入临时文件。
  • 维护当前迭代的索引。如果在上面的步骤中,行号与您要跳过的号码匹配,请不要将其写入临时文件。
  • 关闭这两个文件(如果您例外,请处理案例。您可能也想最终使用)
  • 删除旧文件。
  • 将临时文件重命名为新文件

fyi,Iterator懒惰加载到内存中,并在调用next时删除对前一行的引用。 [@Obicere:另外,我不能直接评论这个问题,但是将所有行加载到内存中并不是一个好主意。 ]