C#序列化 追加文件不成功,是不是不能这样追加记录的?

BinaryFormatterformatter=newBinaryFormatter();Streamfs=newFileStream(savePath+"\\"+ch... BinaryFormatter formatter = new BinaryFormatter();
Stream fs = new FileStream(savePath + "\\" + chatname + ".dat", FileMode.Append,FileAccess.Write);
formatter.Serialize(fs, cllist);
fs.Close();
展开
 我来答
哲事姓无
2012-12-12 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:440万
展开全部
你的失败原因是什么答枯前,看起来应该没有问题的。刚刚网上搜索了一下(用关键词“BinaryFormatter Serialize FileMode.Append”清清),有人这么做败族的。
追问
没有提示错误,使用下面方法也不行:
Stream stream = new FileStream(file, FileMode.Append, FileAccess.Write);
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, list);
ms.Seek(0, SeekOrigin.Begin);
stream.Write(ms.ToArray(), 0, ms.Length);
stream.Close();
只有先把原来的反序列化,添加List,再重新序列化
追答
你这样用MemoryStream的话,应该在保存前应该先刷新一下再保存的吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式