java.lang.Objectjava.io.Console

Todas las interfaces implementadas:
Flushable
public final class Console
extends Object
implements Flushable

Métodos para acceder al dispositivo de consola basado en caracteres, si lo hubiera, asociado con la máquina virtual Java actual.

El hecho de que una máquina virtual tenga una consola depende de la plataforma subyacente y también de la forma en que se invoca la máquina virtual. Si la máquina virtual se inicia desde una línea de comando interactiva sin redirigir los flujos de entrada y salida estándar, entonces su consola existirá y normalmente estará conectada al teclado y la pantalla desde la cual se inició la máquina virtual. Si la máquina virtual se inicia automáticamente, por ejemplo, mediante un programador de trabajos en segundo plano, normalmente no tendrá una consola.

Si esta máquina virtual tiene una consola, entonces está representada por una instancia única de esta clase que se puede obtener invocando la System.console() método. Si no hay ningún dispositivo de consola disponible, se devolverá una invocación de ese método. null.

Las operaciones de lectura y escritura están sincronizadas para garantizar la finalización atómica de las operaciones críticas; por lo tanto, invocando métodos readLine(), readPassword(), format(), printf() así como las operaciones de lectura, formato y escritura en los objetos devueltos por reader() y writer() puede bloquearse en escenarios multiproceso.

Invocando close() en los objetos devueltos por el reader() y el writer() no cerrará el flujo subyacente de esos objetos.

Los métodos de lectura de consola regresan null cuando se llega al final del flujo de entrada de la consola, por ejemplo, escribiendo control-D en Unix o control-Z en Windows. Las operaciones de lectura posteriores se realizarán correctamente si posteriormente se ingresan caracteres adicionales en el dispositivo de entrada de la consola.

A menos que se especifique lo contrario, pasar un null argumento a cualquier método en esta clase causará un NullPointerException para ser arrojado.

Nota de seguridad: Si una aplicación necesita leer una contraseña u otros datos seguros, debe usar readPassword() o readPassword(String, Object...) y poner a cero manualmente la matriz de caracteres devuelta después del procesamiento para minimizar la vida útil de los datos confidenciales en la memoria.

Console cons;char[] passwd;if((cons =System.console())!=null&&(passwd = cons.readPassword("[%s]","Password:"))!=null)...java.util.Arrays.fill(passwd,' ');
Ya que:
1,6

Resumen del método

Modificador y tipo Método Descripción
void flush() Vacía la consola y obliga a que cualquier salida almacenada en búfer se escriba inmediatamente.
Console format​(String fmt,
Object... args)
Escribe una cadena formateada en el flujo de salida de esta consola utilizando la cadena de formato y los argumentos especificados.
Console printf​(String format,
Object... args)
Un método conveniente para escribir una cadena formateada en la secuencia de salida de esta consola utilizando la cadena de formato y los argumentos especificados.
Reader reader() Recupera lo único Reader objeto asociado con esta consola.
String readLine() Lee una sola línea de texto de la consola.
String readLine​(String fmt,
Object... args)
Proporciona un mensaje con formato y luego lee una sola línea de texto desde la consola.
char[] readPassword() Lee una contraseña o frase de contraseña de la consola con el eco desactivado
char[] readPassword​(String fmt,
Object... args)
Proporciona un mensaje formateado, luego lee una contraseña o frase de contraseña de la consola con el eco desactivado.
PrintWriter writer() Recupera lo único PrintWriter objeto asociado con esta consola.

Métodos declarados en la clase java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Detalles del método

escritor

publicPrintWriterwriter()

Recupera lo único PrintWriter objeto asociado con esta consola.

Devoluciones:
El printwriter asociado con esta consola

lector

publicReaderreader()

Recupera lo único Reader objeto asociado con esta consola.

Este método está destinado a ser utilizado por aplicaciones sofisticadas, por ejemplo, un Scanner objeto que utiliza la rica funcionalidad de análisis / escaneo proporcionada por el Scanner:

 Console con = System.console();
 if (con != null) 
     Scanner sc = new Scanner(con.reader());
     ...
 
 

Para aplicaciones simples que solo requieren lectura orientada a líneas, use readLine(java.lang.String, java.lang.Object...).

Las operaciones de lectura masiva read(char[]) , read(char[], int, int) y read(java.nio.CharBuffer) en el objeto devuelto no se leerá en caracteres más allá del límite de línea para cada invocación, incluso si el búfer de destino tiene espacio para más caracteres. los Reader‘s read Los métodos pueden bloquearse si no se ha ingresado o alcanzado un límite de línea en el dispositivo de entrada de la consola. Se considera que un límite de línea es cualquiera de un salto de línea ('n'), un retorno de carro ('r'), un retorno de carro seguido inmediatamente por un salto de línea o un final de flujo.

Devoluciones:
El lector asociado a esta consola

formato

publicConsole format​(String fmt,Object... args)

Escribe una cadena formateada en el flujo de salida de esta consola utilizando la cadena de formato y los argumentos especificados.

Parámetros:
fmt – Una cadena de formato como se describe en Sintaxis de cadena de formato
args – Argumentos a los que hacen referencia los especificadores de formato en la cadena de formato. Si hay más argumentos que especificadores de formato, se ignoran los argumentos adicionales. El número de argumentos es variable y puede ser cero. El número máximo de argumentos está limitado por la dimensión máxima de una matriz de Java definida por La especificación de la máquina virtual de Java. El comportamiento en un null El argumento depende de la conversión.
Devoluciones:
Esta consola
Lanza:
IllegalFormatException – Si una cadena de formato contiene una sintaxis ilegal, un especificador de formato que es incompatible con los argumentos dados, argumentos insuficientes dada la cadena de formato u otras condiciones ilegales. Para obtener la especificación de todos los posibles errores de formato, consulte la sección Detalles de la especificación de la clase del formateador.

printf

publicConsole printf​(String format,Object... args)

Un método conveniente para escribir una cadena formateada en la secuencia de salida de esta consola utilizando la cadena de formato y los argumentos especificados.

Una invocación de este método del formulario con.printf(format, args) se comporta exactamente de la misma manera que la invocación de

con.format(format, args)

.

Parámetros:
format – Una cadena de formato como se describe en Sintaxis de cadena de formato.
args – Argumentos a los que hacen referencia los especificadores de formato en la cadena de formato. Si hay más argumentos que especificadores de formato, se ignoran los argumentos adicionales. El número de argumentos es variable y puede ser cero. El número máximo de argumentos está limitado por la dimensión máxima de una matriz de Java definida por La especificación de la máquina virtual de Java. El comportamiento en un null El argumento depende de la conversión.
Devoluciones:
Esta consola
Lanza:
IllegalFormatException – Si una cadena de formato contiene una sintaxis ilegal, un especificador de formato que es incompatible con los argumentos dados, argumentos insuficientes dada la cadena de formato u otras condiciones ilegales. Para obtener la especificación de todos los posibles errores de formato, consulte la sección Detalles de la especificación de la clase del formateador.

readLine

publicString readLine​(String fmt,Object... args)

Proporciona un mensaje con formato y luego lee una sola línea de texto desde la consola.

Parámetros:
fmt – Una cadena de formato como se describe en Sintaxis de cadena de formato.
args – Argumentos a los que hacen referencia los especificadores de formato en la cadena de formato. Si hay más argumentos que especificadores de formato, se ignoran los argumentos adicionales. El número máximo de argumentos está limitado por la dimensión máxima de una matriz de Java definida por La especificación de la máquina virtual de Java.
Devoluciones:
Una cadena que contiene la línea leída desde la consola, sin incluir ningún carácter de terminación de línea, o null si se ha llegado al final de la secuencia.
Lanza:
IllegalFormatException – Si una cadena de formato contiene una sintaxis ilegal, un especificador de formato que es incompatible con los argumentos dados, argumentos insuficientes dada la cadena de formato u otras condiciones ilegales. Para obtener la especificación de todos los posibles errores de formato, consulte la sección Detalles de la especificación de la clase del formateador.
IOError – Si ocurre un error de E / S.

readLine

publicStringreadLine()

Lee una sola línea de texto de la consola.

Devoluciones:
Una cadena que contiene la línea leída desde la consola, sin incluir ningún carácter de terminación de línea, o null si se ha alcanzado el final de la secuencia.
Lanza:
IOError – Si ocurre un error de E / S.

readPassword

publicchar[] readPassword​(String fmt,Object... args)

Proporciona un mensaje formateado, luego lee una contraseña o frase de contraseña de la consola con el eco desactivado.

Parámetros:
fmt – Una cadena de formato como se describe en Sintaxis de cadena de formato para el texto del mensaje.
args – Argumentos a los que hacen referencia los especificadores de formato en la cadena de formato. Si hay más argumentos que especificadores de formato, se ignoran los argumentos adicionales. El número máximo de argumentos está limitado por la dimensión máxima de una matriz de Java definida por La especificación de la máquina virtual de Java.
Devoluciones:
Una matriz de caracteres que contiene la contraseña o la frase de contraseña leída desde la consola, sin incluir ningún carácter de terminación de línea, o null si se ha alcanzado el final de la secuencia.
Lanza:
IllegalFormatException – Si una cadena de formato contiene una sintaxis ilegal, un especificador de formato que es incompatible con los argumentos dados, argumentos insuficientes dada la cadena de formato u otras condiciones ilegales. Para obtener la especificación de todos los posibles errores de formato, consulte la sección Detalles de la especificación de la clase del formateador.
IOError – Si ocurre un error de E / S.

readPassword

publicchar[]readPassword()

Lee una contraseña o frase de contraseña de la consola con el eco desactivado

Devoluciones:
Una matriz de caracteres que contiene la contraseña o la frase de contraseña leída desde la consola, sin incluir ningún carácter de terminación de línea, o null si se ha llegado al final de la secuencia.
Lanza:
IOError – Si ocurre un error de E / S.

enjuagar

publicvoidflush()

Vacía la consola y obliga a que cualquier salida almacenada en búfer se escriba inmediatamente.

Especificado por:
flush en la interfaz Flushable