title: Performance measure of BufferedReader Vs BufferedInputStream
body: <p>Recently I have modified my code to</p>
  
  <ul>
  <li>While taking input form STDIN, I moved from <code>Scanner</code> to <code>BufferedInputStream</code>. </li>
  <li>I also read about <code>BufferedReader</code> which takes the input from any <code>InputStreamReader</code>. This <code>InputStreamReader</code> can be used with <code>System.in</code> to take <code>STDIN</code> input.</li>
  <li><code>BufferedInputStream</code> has <code>read()</code> method, which further needs to be parsed according to the objective. </li>
  </ul>
  
  <p>In my case first i need to take an integer (let say n) as input from <code>STDIN</code> after that a <code>for loop</code> will take n strings as input. These strings have at max 1,00,000 characters.</p>
  
  <p>Question is : Which one among <code>Scanner</code>, <code>BufferedInputStream</code> and <code>BufferedReader</code> performs better for my objective?</p>