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();
}
}有什么区别,我应该什么时候使用哪一种?
发布于 2012-04-27 15:59:29
StreamReader和BinaryReader都可以用于从二进制文件中获取数据。
StreamReader可以用来从文本的二进制表示中获取文本数据。
BinaryReader可用于获取任意二进制数据。如果其中的一些二进制数据恰好是文本的表示,那很好--但并不一定是这样。
底线:
如果您的数据的全部是文本数据的简单二进制编码,那么使用StreamReader.
BinaryReader因此,例如,您不会尝试使用StreamReader读取JPEG文件。
https://stackoverflow.com/questions/10353913
复制相似问题