Clase Java.io.Console en Java

La clase Java.io.Console proporciona métodos para acceder al dispositivo de consola basado en caracteres, si lo hay, asociado con la máquina virtual Java actual. La clase Consola fue agregada a java.io por JDK 6.

Puntos importantes:

  • Se utiliza para leer y escribir en la consola, si existe.
  • Console es principalmente una clase de conveniencia porque la mayor parte de su funcionalidad está disponible a través de System.in y System.out. Sin embargo, su uso puede simplificar algunos tipos de interacciones de la consola, especialmente al leer strings desde la consola.
  • La consola no proporciona constructores. En su lugar, se obtiene un objeto Consola llamando a System.console(), que se muestra aquí:
    static  Console console( )

    Si hay una consola disponible, se devuelve una referencia a ella. De lo contrario, se devuelve nulo. Una consola no estará disponible en todos los casos. Por lo tanto, si se devuelve un valor nulo, no es posible la E/S de la consola.

  • Proporciona métodos para leer texto y contraseña. Si lee la contraseña usando la clase Console, no se le mostrará al usuario. La clase java.io.Console se adjunta internamente a la consola del sistema.

Métodos importantes:

  • escritor :  recupera el objeto PrintWriter único asociado con esta consola.
    Sintaxis:
    public PrintWriter writer() 
    Returns: The printwriter associated with this console
  • lector:  recupera el objeto Lector único asociado con esta consola.
    Sintaxis:
    public Reader reader()  
    Returns: The reader associated with this console
    
  • format : escribe una string con formato en el flujo de salida de esta consola utilizando la string de formato y los argumentos especificados.
    Sintaxis:
    public Console format(String fmt, Object... args)
    Parameters:
    fmt - A format string as described in Format string syntax
    args - Arguments referenced by the format specifiers in the format string. 
    If there are more arguments than format specifiers, the extra arguments are ignored.
    Returns:This console
    Throws: IllegalFormatException 
    
  • printf : un método conveniente para escribir una string formateada en el flujo de salida de esta consola utilizando la string de formato y los argumentos especificados.
    Sintaxis:
    public Console printf(String format, Object... args)
    Parameters:
    format - A format string as described in Format string syntax.
    args - Arguments referenced by the format specifiers in the format string. 
    If there are more arguments than format specifiers, the extra arguments are ignored.
    Returns:This console
    Throws:IllegalFormatException 
    
  • readLine : proporciona un indicador con formato y luego lee una sola línea de texto desde la consola.
    Sintaxis:
    public String readLine(String fmt,Object... args) 
    Parameters:
    fmt - A format string as described in Format string syntax.
    args - Arguments referenced by the format specifiers in the format string. 
    If there are more arguments than format specifiers, the extra arguments are ignored.
    Returns: A string containing the line read from the console, 
    not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws:
    IllegalFormatException
    IOError - If an I/O error occurs.
    
  • readLine: lee una sola línea de texto desde la consola.
    Sintaxis:
    public String readLine() 
    Returns: A string containing the line read from the console,
     not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws: IOError 
    
  • readPassword: proporciona un aviso formateado, luego lee una contraseña o frase de contraseña de la consola con el eco deshabilitado.
    Sintaxis:
    public char[] readPassword(String fmt,Object... args)
    Parameters:
    fmt - A format string as described in Format string syntax for the prompt text.
    args - Arguments referenced by the format specifiers in the format string.
    Returns: A character array containing the password or passphrase read 
    from the console, not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws:
    IllegalFormatException 
    IOError
  • readPassword: lee una contraseña o frase de contraseña de la consola con el eco deshabilitado
    Sintaxis:
    public char[] readPassword()
    Returns: A character array containing the password or passphrase 
    read from the console, not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws:IOError
  • flush:  vacía la consola y obliga a que cualquier salida almacenada en el búfer se escriba inmediatamente.
    Sintaxis:
    public void flush()
    Specified by: flush in interface Flushable

Programa:

// Java Program to demonstrate Console Methods
  
import java.io.*;
class ConsoleDemo 
{
    public static void main(String args[]) 
    {
        String str;
          
        //Obtaining a reference to the console.
        Console con = System.console();
          
        // Checking If there is no console available, then exit.
        if(con == null) 
        {
            System.out.print("No console available");
            return;
        }
          
        // Read a string and then display it.
        str = con.readLine("Enter your name: ");
        con.printf("Here is your name: %s\n", str);
  
        //to read password and then display it
        System.out.println("Enter the password: ");
        char[] ch=con.readPassword();
  
        //converting char array into string
        String pass = String.valueOf(ch);
        System.out.println("Password is: " + pass);
    }
}

Producción:

Enter your name: Nishant Sharma
Here is your name: Nishant Sharma
Enter the password: 
Password is: dada

Nota: System.console() devuelve nulo en un IDE en línea

Este artículo es una contribución de Nishant Sharma . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *