是否可以仅替换文件中的特定行而无需重写整个文件

时间:2019-07-11 11:08:40

标签: database go io

我正在尝试构造一个函数,该函数将给出给定的行号,将该行替换为另一个字符串。目前,我是通过将整个文件读入RAM,修改RAM中的行并重新写回整个文件来实现的。我想知道数据库是如何做到这一点的,因为这是那里相当频繁的操作。

1 个答案:

答案 0 :(得分:2)

line 表示一个文本文件,由于这些文本通常具有不同的行长,因此除非新文件具有相同的长度,否则无法替换磁盘上文件中的行(操作系统无法提供打开或关闭文件中空白的方法。

另一方面,数据库通常在固定大小的实体(每个表)上运行,因此,数据库可以用新数据替换“记录”的内容,并保留以前使用过的记录的列表。现在已删除,可以在插入新数据时回收。