StreamReader против BinaryReader?
и StreamReader
и BinaryReader
может использоваться для получения данных из двоичного файла (например )
BinaryReader :
using (FileStream fs = File.Open(@"c:.bin",FileMode.Open))
{
byte[] data = new BinaryReader(fs).ReadBytes((int)fs.Length);
Encoding.getstring....
}
StreamReader:
using (FileStream fs = File.Open(@"c:.bin",FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs,Encoding.UTF8))
{
var myString=sr.ReadToEnd();
}
}
в чем разница и когда я должен использовать который ?
1 ответов
и StreamReader и BinaryReader можно использовать для получения данных из двоичного файла
Ну StreamReader
может быть использован для получения текстовых данных из двоичного представления текста.
BinaryReader
можно использовать для получения произвольных двоичных данных. Если некоторые из этих двоичных данных являются представлением текста, это нормально , но это не обязательно.
итог:
- если вся ваша информация представляет собой простой двоичный файл кодирование текстовых данных, используйте
StreamReader
. - если у вас принципиально есть бинарные данные, которые могут случиться некоторые части в тексте, использовать
BinaryReader
так, например,не попробуйте прочитать файл JPEG с помощью StreamReader
.