BufferedReader

In this chapter you will learn:

  1. What is Java BufferedReader and how to use BufferedReader
  2. Create BufferedReader from System.in
  3. How to use BufferedReader to read a text file line by line

Use BufferedReader

BufferedReader improves performance by buffering input. It has two constructors:

  • BufferedReader(Reader inputStream)
    creates a buffered character stream using a default buffer size.
  • BufferedReader(Reader inputStream, int bufSize)
    the size of the buffer is bufSize.

The following code creates a BufferedReader from URL and read from a URL.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
/*from   j  av  a2  s . c om*/
public class Main {

  public static void main(String[] args) throws Exception {
    URL url = new URL("http://localhost:1776");
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
    String line;
    while ((line = in.readLine()) != null) {
      System.out.println(line);
    }
    in.close();
  }
}

Create BufferedReader from System.in

We can convert System.in into BufferedReader with InputStreamReader. And read the keyboard input from console window.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
//j a va  2  s.  c  o  m
public class Main {
  public static void main(String[] args) throws Exception {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    String strLine = in.readLine();
    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
    out.write(strLine, 0, strLine.length());
    out.flush();
    in.close();
    out.close();
  }
}

Read line by line

Here is an example to read a text file line by line.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
/*from  jav a  2  s  .  c  o m*/
public class Main {
  public static void main(String[] argv) {
    try {
      BufferedReader br = new BufferedReader(new FileReader(new File("c:\\a.txt")));
      StringBuilder sb = new StringBuilder();
      String line = br.readLine();
      while (line != null) {
        sb.append(line + "\n");
        line = br.readLine();
      }
      br.close();
      System.out.println(sb.toString());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Next chapter...

What you will learn in the next chapter:

  1. What is CharArrayReader and how to use Java CharArrayReader
  2. Create CharArrayReader from char array and read
  3. Create a CharArrayReader from a sub char array