这一直困扰着我。我知道 Stream 是一个抽象类,因此无法被实例化,但它有从中派生的类。为什么会有一个 StreamReader 类和一个 Stream.Read() 方法(对于 StreamWriter 和 Stream.Write() 则反过来)?你可以使用三百万种不同的方法写入文本文件,让人感到沮丧,试图理解 System.IO 命名空间中的所有这些不同类型和方法。我找到了关于 writer 和 reader 对象之间或派生的流对象本身之间差异的问题和答案,但没有关于这个特定情况的信息。
StreamReader
是一个抽象类,你需要一个具体类的对象,例如TextReader
,才能调用Stream.Read()
方法。这个类和这个方法并不是多余的。 - Jim Balter