黑马程序员技术交流社区

标题: 没用调用flush导致的数据保存丢失 [打印本页]

作者: sunrise2    时间: 2014-7-16 22:32
标题: 没用调用flush导致的数据保存丢失
在将字符串保存到文件时,我们采有下面的写法,大部分情况下,都可以直接将数据保存到文件中
  1. [color=#000000]using (var fs = System.IO.File.Create(path))
  2. {
  3.   var sw = new StreamWriter(fs, Encoding.UTF8);
  4.   sw.Write(content.Trim());
  5. }[/color]
复制代码
但是,当要保存的数据内容超3MB的时候,再按上面的方法写文件,就可能导致文件内容写入被截断。最后找到问题的原因是,原来没有调Flush()方法,下面正确的调用方法

  1. using (var fs = System.IO.File.Create(path))
  2. {
  3.   var sw = new StreamWriter(fs, Encoding.UTF8);
  4.   sw.Write(content.Trim()); 

  5.   sw.Flush();
  6. }
复制代码










欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2