为什么 StreamWriter 无法访问关闭的流,而 StreamReader 可以?

Swa*_*til 1 c# filestream streamwriter streamreader

如果我写以下语句。

fileStream.Close();
reader.Close();
writer.Close();
Run Code Online (Sandbox Code Playgroud)

reader.Close() 语句执行成功。但我收到错误“无法打开关闭的文件”。在第三条语句 writer.Close()

如果我写

fileStream.Close();
writer.Close();
reader.Close();
Run Code Online (Sandbox Code Playgroud)

第二条语句,即 writer.Close() 本身抛出相同的异常。

有人有想法吗?

gor*_*rdy 5

我认为这是因为 writer 在关闭底层流之前调用了flush()。