我想知道是否有办法从文件末尾删除n个字节 没有再写整个文件。
在我正在学习的大学里,我们的教授告诉我们使用Hashing技术创建一个数据结构,能够非常快速地搜索,插入和删除数据!我找到了一种交换任何数据的方法 文件中包含最后一个数据(存储在文件的末尾),而不会破坏我的数据结构。因此,在交换数据后,我只需要从文件中删除最后16个字节,从硬盘中释放空间(我的数据是16字节宽)。这种交换技术类似于二叉树删除技术。
问题是我不知道删除这16个字节的方法。 我知道简单的方法是再次将文件从字节0写入 fileSize - 16,但这是一个非常非常慢的方法。如果数据结构有 数千个数据需要数年才能重新编写文件。