Csharp/C#教程:文件存在时FileMode.Open和FileMode.OpenOrCreate的区别? c#bug?分享


文件存在时FileMode.Open和FileMode.OpenOrCreate的区别? c#bug?

我写了那段代码:

public void Save() { using (FileStream fs = new FileStream(Properties.Settings.Default.settings_file_path, FileMode.Open)) { XmlSerializer ser = new XmlSerializer(typeof(MySettings)); ser.Serialize(fs, this); } } 

当我使用FileMode.Open一切都很好,输出是这样的:

     12 A0 MEASUREMENT   5000 C0 MEASUREMENT    

但当我将其更改为FileMode.OpenOrCreate输出将更改为:

     12 A0 MEASUREMENT   5000 C0 MEASUREMENT   > 

是什么让整个xml文件因为最后添加>符号而损坏。

这是可解释的还是它的c#bug?

我刚刚复制了这个问题。 正如我在评论中写的那样。

FileMode.Open删除文件的内容,而FileMode.OpenOrCreate则不会。

看起来该文件的新内容比之前更短的一个char,这就是为什么你最后看到“>”。

如果您正在编写文件,请使用应该为您执行的FileMode.Create

上述就是C#学习教程:文件存在时FileMode.Open和FileMode.OpenOrCreate的区别? c#bug?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/962032.html

(0)
上一篇 2021年11月26日
下一篇 2021年11月26日

精彩推荐