【发布时间】:2018-06-08 01:24:01
【问题描述】:
我正在使用 BinaryFormatter 和 FileStream 将复杂对象的列表写入二进制文件。对于写入文件的方法,我应该使用 FileMode.Create 创建一个新文件并用一个全新的文件覆盖它,还是应该做一些不同的事情来打开它并只更改已更改的内容?
我正在尝试序列化、反序列化、读取、写入以下内容:
List<Class> objectlist = new List<Class>();
【问题讨论】:
-
将原始文件移动到备份并写入一个新文件。
-
我将此列表用作我的主数据库,因此它会不断被读取和重写。
-
仅修改部分文件并不是一个好方法。
-
是的,如果您只想修改其中的一部分,那么编写一个全新的文件是低效的。
-
通常将其缓存在内存中并根据需要将其读/写到文件中,但出于可靠性等考虑,您最终会得到一个符合 ACID 的数据库引擎。
标签: c#