我正在做一个项目,我将用户输入记录到列表中,并将此信息序列化为二进制文件。到目前为止,我可以在padStates的LIST中记录游戏手柄上的用户输入并序列化这些信息,但是在会话结束后它只会序列化。换句话说,我必须在记录运行的整个时间内将padstate LIST放在内存中。显然这是不理想的,因为我占用了内存,当它变得太大时,它会使程序崩溃。
我认为在实例化类时可以打开文件流并定期将LIST写入文件;说每600帧左右。一旦将其序列化,我就可以清除列表并再次开始填充它。
这实际上可行吗?我想这是将数据附加到文件中,但我没有谈论过这本书......
如果有人能指出我的方向那么棒。
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以使用FileStream
将数据附加到现有文件。链接的MSDN文章中有一个例子。
问题的另一部分,关于何时应该这样做,取决于您的实施。我还建议你以异步方式记录文件,这样应用程序就不会阻止。
答案 2 :(得分:1)
为什么要附加到二进制文件?追加不起作用。无法正确读取数据 - 追加是文本文件的领域。
因此附加到文本文件,这将正常工作,如下例所示: