Java I/O How to - Read char from keyboard input with BufferedInputStream








Question

We would like to know how to read char from keyboard input with BufferedInputStream.

Answer

// w w w  . j av  a2s  .  c o  m
import java.io.BufferedInputStream;
import java.io.IOException;

public class Main {
  public static String readLine() {
    StringBuffer response = new StringBuffer();
    try {
      BufferedInputStream buff = new BufferedInputStream(System.in);
      int in = 0;
      char inChar;
      do {
        in = buff.read();
        inChar = (char) in;
        if ((in != -1) & (in != '\n') & (in != '\r')) {
          response.append(inChar);
        }
      } while ((in != -1) & (inChar != '\n') & (in != '\r'));
      buff.close();
      return response.toString();
    } catch (IOException e) {
      System.out.println("Exception: " + e.getMessage());
      return null;
    }
  }

  public static void main(String[] arguments) {
    System.out.print("\nWhat is your name? ");
    String input = readLine();
    System.out.println("\nHello, " + input);
  }
}

The code above generates the following result.