title: Java: Alternative to BufferedReader
body: <p>I'm having issues with <code>BufferedWriter</code>/<code>BufferedReader</code>.</p>
  
  <p>Basically, whenever I try to read a file with <code>BufferedReader.readLine()</code> it reads everything up to the new line character (i.e. The new line character is omitted).</p>
  
  <p>For instance:</p>
  
  <pre><code>String temp;
  File f = new File(path.toURI());
  BufferedReader reader = new BufferedReader(new FileReader(f));
  
  while ((temp = reader.readLine()) != null) {
      //Work with temp
  }
  </code></pre>
  
  <p>I know about the existence of <code>BufferedReader#newLine()</code>, but it appears that it does not exactly get the newline (delimiter?) that was previously omitted.</p>
  
  <p>From my understanding if I were to readline the following:</p>
  
  <pre><code>abcd\n
  efgh\r\n
  ijkl\r
  </code></pre>
  
  <p>It will return:</p>
  
  <pre><code>abcd\n
  efgh\n
  ijkl\n
  </code></pre>
  
  <p>What I am asking is, is there any class that is able to read characters without omitting them like <code>BufferedInputStream</code>, while retaining the ability to read line like <code>BufferedReader#readLine()</code></p>