title: which to choose buffered reader or scanner from performance point of view
body: <p>From aperformance optimization point of view: Reading a file in Java - is a buffered reader or scanner better?</p>
  
  <pre><code>import java.io.BufferedReader;
  import java.io.FileInputStream;
  import java.io.FileNotFoundException;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  
  
  public class BufferedReaderExample {   
  
      public static void main(String args[]) {
  
          //reading file line by line in Java using BufferedReader       
          FileInputStream fis = null;
          BufferedReader reader = null;
  
          try {
              fis = new FileInputStream("C:/sample.txt");
              reader = new BufferedReader(new InputStreamReader(fis));
  
              System.out.println("Reading File line by line using BufferedReader");
  
              String line = reader.readLine();
              while(line != null){
                  System.out.println(line);
                  line = reader.readLine();
              }           
  
          } catch (FileNotFoundException ex) {
              Logger.getLogger(BufferedReaderExample.class.getName()).log(Level.SEVERE, null, ex);
          } catch (IOException ex) {
              Logger.getLogger(BufferedReaderExample.class.getName()).log(Level.SEVERE, null, ex);
  
          } finally {
              try {
                  reader.close();
                  fis.close();
              } catch (IOException ex) {
                  Logger.getLogger(BufferedReaderExample.class.getName()).log(Level.SEVERE, null, ex);
              }
          }
    } 
  
  Output:
  Reading File line by line using BufferedReader
  first line in file
  second line
  third line
  fourth line
  fifth line
  last line in file
  </code></pre>
  
  <p>and the other approach of scanner is..</p>
  
  <pre><code>import java.io.FileInputStream;
  import java.io.FileNotFoundException;
  import java.util.Scanner;
  
  /**
   * @author Javin Paul
   * Java program to read file line by line using Scanner. Scanner is a rather new
   * utility class in Java and introduced in JDK 1.5 and preferred way to read input
   * from console.
   */
  public class ScannerExample {
  
  
      public static void main(String args[]) throws FileNotFoundException  {
  
         //Scanner Example - read file line by line in Java using Scanner
          FileInputStream fis = new FileInputStream("C:/sample.txt");
          Scanner scanner = new Scanner(fis);
  
          //reading file line by line using Scanner in Java
          System.out.println("Reading file line by line in Java using Scanner");
  
          while(scanner.hasNextLine()){
              System.out.println(scanner.nextLine());
          }
  
          scanner.close();
      }   
  
  }
  
  Output:
  Reading file line by line in Java using Scanner
  first line in file
  second line
  third line
  fourth line
  fifth line
  last line in file
  </code></pre>