Stream(流)的相关 Reader Close 到底是关闭什么?

作者:vkvi 来源:ITPOW(原创) 日期:2020-2-7

上述继续操作 stream 时,出错:无法访问已关闭的流。

上述用其他 Reader 去操作流,也是出错,提示:流不可读。同样,如果使用 Writer,也会提示:流不可写。

所以:Close 并不是关闭这个 Reader 对象,而是关闭流对象,关闭之后,后面就不能继续处理流了。

使用 using (BinaryReader reader = new BinaryReader(stream)) 一样的,因为 using 会自动 Dispose(),而 Dispose() 通常会自动 Close(),故后面也不能操作这个流了。注意:虽然不能调用 reader.Dispose(),但是 BinaryReader 确实是继承自 IDisposable,所以也能使用 using。

相关文章