title: How is there no flush in FileReader, but there is for FileWriter?
body: <p>Say I try to run this code:</p>
  <pre><code>FileWriter fw = new FileWriter(&quot;a.txt&quot;);
  fw.write(&quot;A&quot;);
  </code></pre>
  <p>It wouldn't work as data is buffered and won't be auto flushed until it reaches max buffer size. So we flush manually with <code>fw.flush();</code>, after which this would work.</p>
  <p>Then I want to read data from the same <em>file</em>. I do this and it works fine:</p>
  <pre><code>FileReader fr = new FileReader (&quot;a.txt&quot;);
  System.out.println (fr.read ());
  OUTPUT: 65
  </code></pre>
  <p>Can someone tell me why is there no method <code>flush()</code> for <code>fileReader</code> as well? I mean shouldn't it work the same as <code>fileWriter</code> just the opposite? Instead of buffering data before being sent to the source, in this case, data would be buffered before being read.
  I am afraid I am missing something elementary, can someone please point it out?</p>