StreamReader vs BinaryReader?
.net, binaryreader, c#, file, streamreader
Solution
Both StreamReader and BinaryReader can be used to get data from binary file
Well, `StreamReader` can be used to get text data from a binary representation of text.
`BinaryReader` can be used to get arbitrary binary data. If some of that binary data happens to be a representation of text, that's fine - but it doesn't have to be.
Bottom line:
- If the entirety of your data is a straightforward binary encoding of text data, use `StreamReader`.
- If you've fundamentally got binary data which may happen to have some portions in text, use `BinaryReader`
So for example, you wouldn't try to read a JPEG file with `StreamReader`.
Problem
Both `StreamReader` and `BinaryReader` can be used to get data from binary file ( for example ) 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(); } } ``` What is the difference and when should I use which ?