- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - Console reader() method
Description
The Java Console reader() method retrieve the unique Reader object associated with this console.
Declaration
Following is the declaration for java.io.Console.reader() method −
public Reader reader()
Parameters
NA
Return Value
This method returns the reader associated with the console.
Exception
NA
Important Note
System.console() may return null in IDEs like Eclipse, NetBeans or IntelliJ. Run these programs from the command line (terminal) for proper execution.
Example - Usage of Console reader() method
The following example shows the usage of Java Console reader() method.
ConsoleDemo.java
package com.tutorialspoint;
import java.io.Console;
import java.util.Scanner;
public class ConsoleDemo {
public static void main(String[] args) {
Console console = null;
Scanner scan = null;
try {
// creates a console object
console = System.console();
// if console is not null
if (console != null) {
// prints
System.out.print("Enter name : ");
// create new scanner object
scan = new Scanner(console.reader());
// read till the end of data
while (scan.hasNext()) {
// read next
String str = scan.next();
// print
System.out.println(str);
}
}
} catch(Exception ex) {
// if any error occurs
ex.printStackTrace();
}
}
}
Console Interaction
Let us compile and run the above program, this will produce the following result −
Enter name : Master Programmer Master Programmer
Example - Reading a Single Line from Console
The following example shows the usage of Java Console reader() method. This program uses the reader() method to read user input and display it.
ConsoleDemo.java
package com.tutorialspoint;
import java.io.Console;
import java.io.Reader;
import java.io.BufferedReader;
import java.io.IOException;
public class ConsoleDemo {
public static void main(String[] args) {
Console console = System.console(); // Get Console object
if (console == null) {
System.out.println("No console available.");
return;
}
Reader reader = console.reader(); // Get Reader object
BufferedReader bufferedReader = new BufferedReader(reader); // Wrap Reader in BufferedReader
try {
System.out.print("Enter a message: ");
String message = bufferedReader.readLine(); // Read a single line
console.format("You entered: %s%n", message);
} catch (IOException e) {
System.out.println("Error reading input.");
}
}
}
Console Interaction
Let us compile and run the above program, this will produce the following result −
Enter a message: Tutorials Point is an excellent web site ! You entered: Tutorials Point is an excellent web site !
Explanation
System.console() is used to get a Console object.
The reader() method returns a Reader object.
BufferedReader is used to read a full line of input.
The user enters a message, which is displayed using console.format().
Example - Reading Multiple Lines Until User Stops
The following example shows the usage of Java Console reader() method. This program reads multiple lines using reader() and stops when the user enters "exit".
ConsoleDemo.java
package com.tutorialspoint;
import java.io.Console;
import java.io.Reader;
import java.io.BufferedReader;
import java.io.IOException;
public class ConsoleDemo {
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
System.out.println("No console available.");
return;
}
Reader reader = console.reader();
BufferedReader bufferedReader = new BufferedReader(reader);
try {
String line;
console.format("Enter multiple lines (type 'exit' to stop):%n");
while ((line = bufferedReader.readLine()) != null) {
if (line.equalsIgnoreCase("exit")) {
break;
}
console.format("You entered: %s%n", line);
}
} catch (IOException e) {
System.out.println("Error reading input.");
}
}
}
Console Interaction
Let us compile and run the above program, this will produce the following result −
Enter multiple lines (type 'exit' to stop): Java You entered: Java C++ You entered: C++ Python You entered: Python exit
Explanation
reader() is used to get a Reader object from Console.
BufferedReader.readLine() reads multiple lines.
The loop continues reading until the user enters "exit", then it stops.