title: C# check if file is readable
body: <p>I need to read from a number of files but sometimes they are not available or cannot be read from current user. This is the code I'm using to check if file is valid but I think I'm not using the <code>using</code> statement correctly.</p>
  
  <pre><code>private static bool fileAccessible(string filePath) {
      using (FileStream fs = new FileStream(filePath, FileMode.Open)) {
          if (fs.CanRead) {
              return true;
          }
          else {
              return false;
          }
      }
  
      return false; // compiler says "unreachable code"
  }
  </code></pre>
  
  <p>Should I insert a <code>try/catch</code> block outside the <code>using</code> statement to catch errors raised by unavailable file or will <code>using</code> go on without raising an error if <code>filePath</code> is not available?</p>
  
  <p>Bonus question: is this the correct way to check if file is available and accessible? If the answer is Yes can I change <code>FileMode.Open</code> to <code>FileMode.Append</code> to perform the same check on writable files?</p>