StreamReader
和BinaryReader
都可用于从二进制文件中获取数据(例如)
BinaryReader:
using (FileStream fs = File.Open(@"c:\1.bin",FileMode.Open))
{
byte[] data = new BinaryReader(fs).ReadBytes((int)fs.Length);
Encoding.getstring....
}
StreamReader:
using (FileStream fs = File.Open(@"c:\1.bin",FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs,Encoding.UTF8))
{
var myString=sr.ReadToEnd();
}
}
有什么区别,我什么时候应该使用哪个?
答案 0 :(得分:68)
StreamReader和BinaryReader都可用于从二进制文件中获取数据
嗯,StreamReader
可用于从文本的二进制表示中获取文本数据。
BinaryReader
可用于获取任意二进制数据。如果某些二进制数据碰巧是文本的表示,那很好 - 但它不一定是。
底线:
StreamReader
。BinaryReader
例如,您不会尝试使用StreamReader
读取JPEG文件。