我在运行时有一些对象集合,已经可序列化,我需要将对象的状态持久化到文件中。我使用BinaryFormatter进行快速编码并将序列化的对象保存到文件中。
我想可以每行保存一个对象。但是当我在记事本中打开文件时,它比一行长。无法滚动。如何将二进制序列化的对象存储为每行一个?
我知道我可以在每个对象之后使用分隔符,以便在将它们读回应用程序时,我可以知道对象的结尾。根据信息论,这会增加数据的大小(Sipser书)。有什么最好的算法可以提供一个不会破坏信息的分隔符?
除了二进制序列化外,您认为Json格式更可行吗?我可以逐行存储实体的Json格式吗?
此外,序列化/反序列化会引入开销,影响性能。Json会更快吗?
有什么想法?
谢谢。
我想可以每行保存一个对象。但是当我在记事本中打开文件时,它比一行长。无法滚动。如何将二进制序列化的对象存储为每行一个?
我知道我可以在每个对象之后使用分隔符,以便在将它们读回应用程序时,我可以知道对象的结尾。根据信息论,这会增加数据的大小(Sipser书)。有什么最好的算法可以提供一个不会破坏信息的分隔符?
除了二进制序列化外,您认为Json格式更可行吗?我可以逐行存储实体的Json格式吗?
此外,序列化/反序列化会引入开销,影响性能。Json会更快吗?
有什么想法?
谢谢。
int
),要么在读取完每个对象后检查 EOF。 - Justin