与BinaryWriter类不同的是,BinaryReader是用特定的编码将基元数据类型读作二进制值。它的构造函数与BinaryWriter类一样,提供了两个重载的构造函数。
public BinaryReader(Stream input);
public BinaryReader(Stream input, Encoding encoding);
BinaryReader类提供了许多Read方法,各自对应.NET中的数据类型,BinaryReader还有一个PeekChar方法,返回下一个可用的字符,但并不改变当前游标的位置。下面对如何使用BinaryReader举一个示例。
static void Main(string[] args)
{
const string filePath = @"C:"BinaryWriter.dat";
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess. ReadWrite);
BinaryReader br = new BinaryReader(fs);
while (br.PeekChar() != -1)
{
string str = br.ReadString();
bool bol = br.ReadBoolean();
//下面的代码省略
}
}