2011-03-21 47 views
2

我正在做一個項目,將用戶輸入記錄到列表中,並將此信息序列化爲二進制文件。到目前爲止,我可以將用戶輸入記錄在padStates列表中的遊戲手柄上,並將這些信息序列化,但是在那一刻它只會在會話結束後序列化。換句話說,在記錄運行的整個過程中,我必須在內存中放置padstate LIST。顯然,這是不理想的,因爲我正在佔用內存,當它變得太大時會使程序崩潰。C#中的二進制序列化 - 附加到文件

我在想,當實例化一個類並定期將LIST寫入文件時,可能會打開一個文件流;說每600幀左右。一旦這個序列化,我可以清除列表並重新開始填充它。

這實際上可行嗎?我想它是附加數據的文件,但沒有我所說的這些書..

如果任何人都可以指出我的方向,那將是偉大的。

回答

3

使用FileMode.Append完成將數據附加到文件。

這可以在構建FileStream對象時指定。

FileStream Constructor

+0

確定。我現在就試試這個。我認爲這樣做肯定是可能的(至少它對我來說有道理,爲什麼它應該是可能的),但是我又發現我不能做很多我認爲是自然而然的事情做。 – 2011-03-21 17:34:26

1

您可以使用FileStream將數據追加到現有文件。鏈接的MSDN文章中有一個示例。

問題的另一部分,關於何時應該這樣做,取決於您的實施。我還建議你在文件中異步執行日誌記錄,以免應用程序阻塞。

相關問題