title: Best way to read a large file into a byte array in C#?
body: <p>I have a web server which will read large binary files (several megabytes) into byte arrays. The server could be reading several files at the same time (different page requests), so I am looking for the most optimized way for doing this without taxing the CPU too much. Is the code below good enough?</p>
  
  <pre><code>public byte[] FileToByteArray(string fileName)
  {
      byte[] buff = null;
      FileStream fs = new FileStream(fileName, 
                                     FileMode.Open, 
                                     FileAccess.Read);
      BinaryReader br = new BinaryReader(fs);
      long numBytes = new FileInfo(fileName).Length;
      buff = br.ReadBytes((int) numBytes);
      return buff;
  }
  </code></pre>