使用RandomAccessFile删除文件内容



我有一个包含大量零的文件,根据要求,文件中的零是无效的。我使用RandomAccessFile api来定位文件中的数据。是否有办法让所有的零可以从文件中删除使用相同的api

您必须流式处理该文件并将内容(减去零)写入一个单独的临时文件。然后,您可以关闭并删除原始文件,并将新文件重命名为旧文件名。

您可以使用RandomAccessFile读取文件的数据,当您到达需要更改数据的点时,您可以用相等的字节数覆盖现有的字节数。如果新值与旧值的长度完全相同,

使用RandomAccessFile是困难的,同样复杂的,当两个的大小,被改变的一个和新的值是不同的。它涉及大量的查找,读取和写入来将数据移回

尝试读取整个文件,更改需要更改的位,然后写入一个新文件。您可以一次处理一行,或者将整个文件读入内存,修改后再全部写出来。以以下方式执行编辑是一个好主意:

  1. 读文件
  2. 写入临时文件[只是为了备份]
  3. 将原文件重命名为备份文件
  4. 创建临时文件
  5. 如果成功,请删除备份。

相关内容

  • 没有找到相关文章

最新更新