11

如何管理关闭StreamReader以及StreamWriter哪些使用相同的底层流?

var stream = /*...*/;
var reader = new StreamReader(stream);
var writer = new StreamWRiter(stream);

我知道我可以简单地忽略关闭读取器/写入器并关闭底层流。然而,这似乎有点小题大做,因为它是基于读者/作者没有任何东西要处理的假设(未来可能不会如此)。

我知道这已经在 .NET 4.5 中通过一个额外的构造函数参数解决了,但是在 .NET 4.5 发布之前,我该如何以正确的方式解决它?

4

1 回答 1

6

首先确保你Flush()是作家。

然后只需 Dispose 或 Close 2 个装饰器和流(嵌套使用即可)。

于 2012-05-14T09:24:44.973 回答