【发布时间】:2015-02-23 06:06:14
【问题描述】:
这一直困扰着我。我知道 Stream 是一个抽象类,因此无法实例化,但它具有派生自它的类。为什么有一个 StreamReader 类和一个 Stream.Read() 方法(反之亦然 StreamWriter 和 Stream.Write() )?您可以使用 300 万种不同的方法写入文本文件,但试图了解 System.IO 命名空间中的所有这些不同类型和方法是相当令人沮丧的。我找到了有关编写器和读取器对象或派生流对象本身之间差异的问题和答案,但没有关于这种特殊情况。
【问题讨论】:
-
由于
StreamReader是抽象的,你需要一个具体类的对象,例如TextReader,来调用Stream.Read()方法。类和方法不是多余的。
标签: c# io stream streamreader streamwriter