[Recipe] Reading input from Keyboard using BufferedReader class (Java)

Problem: 

Need to read input from Keyword using BufferedReader

Solution Summary: 

BufferedReader cannot directly use an InputStream. Hence you need to also use an InputStreamReader which will act like a bridge between an InputStream like PrintStream and a Reader like BufferedReader.

Solution: 

 

import java.io.*;

public class FileCopier {

  public static void main(String[] args) throws IOException {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    FileWriter fw = new FileWriter("myFile.txt");

    System.out.println("Enter text (enter string 'end' on a line to end):");

    String str = "";

    while (!str.equals("end")) {

      str = br.readLine();

      fw.write(str);

      fw.write(System.lineSeparator());

    }

    fw.close();

    br.close();

  }

}

 

Using a BufferedWriter will still improve the code in terms of performance and also adds a convenience method newLine() which will print the line separator string as defined by the system property line.separator. You can attach a FileWriter to a BufferedWriter as:

BufferedWriter bw = new BufferedWriter(fw);

And then replace the line:

fw.write(System.lineSeparator());

with 

bw.newLine();

Recipe Tags: 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)