C# · 12月 30, 2021

c# – 如何序列化到现有文件?

假设我有一个包含BinaryFomatter的序列化对象的文件.现在我想要能够序列化另一个对象,并在现有文件上附加APPEND.

我该怎么做?

解决方法 首先,如果您真正需要的是存储一个对象数组 – 将它们放在容器中并序列化容器,如前所述.

现在,如果你真的想把两个序列化的对象存储在一个连接的文件中:

我不知道这是可能的“开箱即用”,但你可以做两件事情.

>使用或发明您自己的半tar文件格式,您将在描述文件内容(#’对象和大小)的文件的开头(或结尾)中写入一个小标题.
>编写一个C#代码,以便自己检测每个序列化对象的开始和结束.我不完全确定这是可能的. Here是序列化格式的非官方文档.它包含标题,但不能保证此标题不会出现在文件中.