1

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

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

4

1 回答 1

0

您可以使用同一库的 lineIterator 函数。

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

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

于 2014-04-13T17:39:57.157 回答