如何使用java从文本文件中删除一行?

时间:2015-09-12 09:05:53

标签: java arrays sorting file-io text-files

我想删除文本文件中的一行

1 个答案:

答案 0 :(得分:3)

这是一个正常工作的代码,假设您使用的是Java> = 7:

.tmp

无法从文件中删除一行。您需要做的是读取现有文件,将要保留的内容写入临时文件,然后重命名临时文件以覆盖输入文件。

此处,临时文件创建在与输入文件相同的目录中,并添加了扩展名Options -MultiViews RewriteEngine On RewriteRule ^(about-kankaria-eye-hospital)/?$ /$1.php [L,NC,R=301] (请注意,您也可以使用Files.createTempFile)。

对于每个读取的行,我们检查这是否是用户想要删除的行。

  • 如果是,我们更新一个布尔变量,告诉我们只是命中要删除的行,我们不会将此行复制到临时文件中。
  • 如果不是,我们可以选择:
    • 我们还没有点击要删除的行。然后我们只是将我们读到的内容复制到临时文件
    • 或者我们做了,我们需要递减第一个数字并将其余部分复制到临时文件中。

当前行在String.split(regex, limit)的帮助下被拆分(它只拆分线两次,从而创建一个包含2个字符串的数组:第一部分是数字,第二部分是该行的其余部分)。

最后,临时文件用Files.move覆盖输入文件(我们需要使用REPLACE_EXISTING选项)。