title: Do I need to close() both FileReader and BufferedReader?
body: <p>I'm reading a local file using a BufferedReader wrapped around a FileReader:</p>
  
  <pre><code>BufferedReader reader = new BufferedReader(new FileReader(fileName));
  // read the file
  // (error handling snipped)
  reader.close();
  </code></pre>
  
  <p>Do I need to <code>close()</code> the <code>FileReader</code> as well, or will the wrapper handle that?
  I've seen code where people do something like this:</p>
  
  <pre><code>FileReader fReader = new FileReader(fileName);
  BufferedReader bReader = new BufferedReader(fReader);
  // read the file
  // (error handling snipped)
  bReader.close();
  fReader.close();
  </code></pre>
  
  <p>This method is called from a servlet, and I'd like to make sure I don't leave any handles open.</p>