System.IO 读写二进制、字符串、byte[]

作者:vkvi 来源:ITPOW(原创) 日期:2010-5-1

读写二进制的类:

System.IO.BinaryReader
System.IO.BinaryWriter

读写字符串的类:

System.IO.TextReader
System.IO.TextWriter

TextReader、TextWriter 是抽象类,我们一般用其子类:

System.IO.StreamReader
System.IO.StreamWriter
System.IO.StringReader
System.IO.StringWriter

读写 byte[] 的类:

System.IO.Stream

Stream 下面有很多子类,比如:FileStream。Stream 中的东西实际上是被 System.IO.BinaryReader、System.IO.StreamReader 来读取,这取决于是二进制的还是文本的。

示例,用 StreamReader 读取 Stream 中的内容。

using (StreamReader reader = new StreamReader(stream))
{
    string str = reader.ReadToEnd();
    reader.Close();
}

容易混淆,读取文件时 StreamReader 与 FileStream 关系。

读取文件时,既可先用 File.Open 等方法打开文件,再将其 FileStream 拿给 StreamReader 来读,也可直接跳过 FileStream,直接在 StreamReader 构造函数中跟文件路径。两种方法都是对的,再加之 StreamReader 这个名字带个 Stream,容易把人弄混淆。

相关文章