title: StreamReader vs BinaryReader?
body: <p>Both <code>StreamReader</code> and <code>BinaryReader</code> can be used to get data from binary file ( for example ) </p>
  
  <p><em>BinaryReader :</em></p>
  
  <pre><code>   using (FileStream fs = File.Open(@"c:\1.bin",FileMode.Open))
              {
                      byte[] data = new BinaryReader(fs).ReadBytes((int)fs.Length);
                      Encoding.getstring....
              }
  </code></pre>
  
  <p><em>StreamReader  :</em> </p>
  
  <pre><code>  using (FileStream fs = File.Open(@"c:\1.bin",FileMode.Open))
              {
                  using (StreamReader sr = new StreamReader(fs,Encoding.UTF8))
                  {
                         var myString=sr.ReadToEnd();
                  }
              }
  </code></pre>
  
  <p>What is the difference and when should I use which ? </p>