[英]How can you disregard the buffer of a streamwriter
我正在使用streamwriter写入文件流,像这样
using(StreamWriter writer = File.AppendText('MyFile.csv'))
{
writer.WriteLine("Header1,Header2")
//Write multiple lines based on some logic
DoSomeOtherThings(writer)
writer.Flush();
}
如果我的应用程序在编写过程中出错,那么我根本就不想写该文件。 为此,我认为我将不必冲洗到最后。 但是,即使出现错误,正在写入的任何数据也会保存到我的文件中。
有没有一种方法可以忽略StreamWriter的缓冲区,因此除非到达逻辑末尾,否则它不会将数据保存到文件中?
在StreamWriter的Dispose方法中调用Flush。 例如,请参阅是否Stream.Dispose始终调用Stream.Close(和Stream.Flush) 。 即使使用“ using”构造时发生错误,也会调用Dispose。
我没有尝试过,但看起来StreamWriter类上有一个AutoFlush属性。 创建编写器后,您可能可以立即将其设置为false,并且它可以执行您想要的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.