gpt4 book ai didi

c# - 文件流、锁定和序列化

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:49 25 4
gpt4 key购买 nike

我需要打开一个文件,反序列化一个 List<> 对象,从列表中删除一个对象,然后将 List<> 重新序列化回文件而不释放对文件的锁定。

从 List<> 中反序列化和删除对象没问题,当我尝试将 List<> 序列化回文件时出现问题,因为我得到了以前数据的剩余部分......任何人都知道如何删除文件末尾剩余的旧数据?

谢谢,保罗。

最佳答案

将序列化数据写回文件时,以 (FileMode.Truncate) 方式打开文件。这将确保该文件被您的新数据完全覆盖,并且您最终不会留下现有数据的残余。

参见“FileMode.Truncate”:
http://msdn.microsoft.com/en-us/library/system.io.filemode(VS.85).aspx

此外,我建议使用 protobuf-net用作您的序列化引擎。它是一个更快且(在某些情况下,例如混淆)更可靠的序列化系统。

关于c# - 文件流、锁定和序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1278533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com