StreamReader 和 StreamWriter 位于同一 Stream 上

本文关键字:Stream 于同一 StreamWriter StreamReader | 更新日期: 2023-09-27 18:34:15

如何管理使用相同底层流的关闭StreamReaderStreamWriter

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

我知道我可以简单地忽略关闭读取器/写入器,而只是关闭底层流。然而,这似乎有点黑客,因为它是基于读者/写入者没有任何要处理的假设(将来可能不是这样)。

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

StreamReader 和 StreamWriter 位于同一 Stream 上

确保先Flush()作者。

然后只需处理或关闭 2 个装饰器和流(嵌套使用是可以的)。