我在阅读时是否需要Flush()一个FileStream?

时间:2015-02-18 08:35:07

标签: c# .net filestream flush

我不确定在从文件读取时是否也使用缓冲区,或者仅在写入文件时使用缓冲区。

2 个答案:

答案 0 :(得分:3)

  

读取时需要刷新FileStream()吗?

没有。 Flush()在写缓冲区中写入剩余字节。

  

是从文件读取时还使用的缓冲区吗?

是的,出于性能原因,有一个缓冲区,但除了从流中读取字节直到遇到EOF之外,没有办法刷新这个缓冲区。

答案 1 :(得分:1)

以下是documentation对Stream.Flush()所说的内容:

  

在派生类中重写时,清除此流的所有缓冲区   并导致任何缓冲的数据被写入底层设备。

我想可以肯定地说,阅读时不需要冲洗。