我对TextWriter/Reader派生类型和StringWriter/Reader以及StreamReader/Reader之间的确切区别和不同的使用方法感到非常困惑。 我知道使用它们可以很容易地处理基于字符的流数据,避免了直接使用Filestream时的字节麻烦...
我对TextWriter/Reader派生类型和StringWriter/Reader以及StreamReader/Reader之间的确切区别和不同的使用方法感到非常困惑。 我知道使用它们可以很容易地处理基于字符的流数据,避免了直接使用Filestream时的字节麻烦...
TextWriter/Reader 是一个抽象类,提供了将基于字符的数据写入/读取到/自数据源的抽象。
StreamWriter/Reader 是一个具体实现,使用可写/可读的Stream作为数据源。由于Stream是基于字节的数据读写的抽象,因此需要使用一个Encoding实例来进行字符和字节之间的转换。
StringWriter/Reader 是一个具体实现,使用StringBuilder/string作为数据源。
Stream*
类从Stream
中读取。
String*
类从String
中读取(并写入StringBuilder
)。
你可以编写一个方法,该方法接受TextReader
参数,并使用StreamReader
或StringReader
调用它,以使其从流或字符串中读取。