El método reader() de la clase Console en Java se usa para recuperar el objeto Reader único que está asociado con la consola. Este método reader() es generalmente utilizado por aplicaciones sofisticadas. Las aplicaciones simples que requieren solo lectura orientada a líneas, normalmente usan el método readLine() en lugar del método reader().
Sintaxis:
public Reader reader()
Parámetros: Este método no acepta ningún parámetro.
Valor de retorno: este método devuelve Reader que está asociado con la consola.
Excepciones: este método no arroja ninguna excepción.
Nota: System.console() devuelve nulo en un IDE en línea.
Los siguientes programas ilustran el método reader() en la clase Console en el paquete IO:
Programa 1:
// Java program to illustrate // Console reader() method import java.io.*; public class GFG { public static void main(String[] args) { // Create the console object Console cnsl = System.console(); if (cnsl == null) { System.out.println( "No console available"); return; } String str = cnsl.readLine( "Enter string : "); // Create scanner object scan = new Scanner(cnsl.reader()); while (scan.hasNext()) { // Read String str = scan.next(); // Print System.out.println(str); } }
Programa 2:
// Java program to illustrate // Console reader() method import java.io.*; public class GFG { public static void main(String[] args) { // Create the console object Console cnsl = System.console(); if (cnsl == null) { System.out.println( "No console available"); return; } String str = cnsl.readLine( "Enter string : "); // Create scanner object scan = new Scanner(cnsl.reader()); while (scan.hasNext()) { // Read String str = scan.next(); // Print System.out.println(str); } }
Referencias:
https://docs.oracle.com/javase/10/docs/api/java/io/Console.html#reader()