title: BufferedReader not stating 'ready' when it should
body: <p>I am trying to read text from a web document using a <strong>BufferedReader</strong> over an InputStreamReader on an URL (to the file on some Apache server).</p>
  
  <pre><code>String result = "";
  URL url = new URL("http://someserver.domain/somefile");
  BufferedReader in = null;
  in = new BufferedReader(new InputStreamReader(url.openStream(), "iso-8859-1"));
  
  result += in.readLine();
  </code></pre>
  
  <p>Now this works just fine. But Obviously I'd like the reader not to just read one line, but as many as there are in the file.<br>
  Looking at the BufferedReader API the following code should do just that:</p>
  
  <pre><code>while (in.ready()) {
      result += in.readLine();
  }
  </code></pre>
  
  <p>I.e. read all lines while there are more lines, stop when no more lines are there. This code does not work however - the reader just <strong>never</strong> reports <em>ready() = true</em>!</p>
  
  <p>I can even print the ready() value right before reading a line (which reads the correct string from the file) but the reader will report '<em>false</em>'.</p>
  
  <p>Am I doing something wrong? Why does the BufferedReader return '<em>false</em>' on ready when there is actually stuff to read?</p>