gpt4 book ai didi

c# - 保存xml文件时防止文件损坏

转载 作者:太空狗 更新时间:2023-10-30 00:26:58 24 4
gpt4 key购买 nike

当抛出 OutOfMemoryException 时,下一行有时会破坏 xml 文件并创建一个零长度的 xml。如何防止文件损坏?

xmlDoc.Save(filename)

Save-Exception of type 'System.OutOfMemoryException' was thrown. Save-at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count) at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) at System.IO.StreamWriter.Write(Char value) at System.Xml.XmlTextWriter.Indent(Boolean beforeEndElement) at System.Xml.XmlTextWriter.AutoComplete(Token token) at System.Xml.XmlTextWriter.WriteStartElement(String prefix, String localName, String ns) at System.Xml.XmlDOMTextWriter.WriteStartElement(String prefix, String localName, String ns) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlDocument.WriteContentTo(XmlWriter xw) at System.Xml.XmlDocument.WriteTo(XmlWriter w) at System.Xml.XmlDocument.Save(String filename) at MainOptions.Save(String filename, ItemOptions options)

最佳答案

当您将文件保存到 filename 时,您正在覆盖该文件。要备份旧副本,

  • 在保存之前将其移动到另一个位置(如 filename.bak)并之后删除它
  • 将新文件另存为另一个文件(如filename.new)并成功重命名

当抛出异常时,您可以轻松恢复旧/以前版本的 xml 文件。

关于c# - 保存xml文件时防止文件损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8665805/

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