繁体   English   中英

C#中的二进制序列化-附加到文件

[英]Binary Serialization in C# - Append to a file

我正在做一个项目,其中将用户输入记录到列表中,并将此信息序列化为二进制文件。 到目前为止,我可以在padStates的LIST中将用户输入记录在游戏板上,并序列化此信息,但在几分钟之内,它将仅在会话结束后进行序列化。 换句话说,我必须在记录运行的整个过程中将padstate LIST保留在内存中。 显然,这不是理想的选择,因为我占用了内存,当内存太大时,它将使程序崩溃。

我在想,当实例化一个类并定期将LIST写入文件时,可能会打开文件流。 说每600帧左右。 序列化之后,我可以清除列表,然后再次开始填充它。

这实际上可行吗? 我想它是将数据附加到文件中,但是我没有谈论过任何书。

如果有人能指出我的方向,那将是很棒的。

使用FileMode.Append将数据追加到文件中。

可以在构造FileStream对象时指定它。

FileStream构造函数

您可以使用FileStream将数据追加到现有文件。 链接的MSDN文章中有一个示例。

问题的另一部分,关于何时应执行此操作,实际上取决于您的实现。 我还建议您以异步方式在文件中进行日志记录,以便该应用程序不会阻塞。

为什么附加到二进制文件? 追加将不起作用。 正确读取数据将是不可能的- 追加是文本文件的领域。

因此,将其附加到文本文件中即可,如下面的示例所示:

http://msdn.microsoft.com/en-us/library/3zc0w663.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM