Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

ConsoleReaderOutputStream

public class ConsoleReaderOutputStream
extends Object

java.lang.Object
com.android.tradefed.log.ConsoleReaderOutputStream


Un OutputStream que se puede utilizar para hacer que System.out.print() juegue bien con el búfer ConsoleReader del usuario.

En las pruebas de rendimiento triviales, esta clase no tuvo un impacto medible en el rendimiento.

Resumen

Constructores públicos

ConsoleReaderOutputStream (ConsoleReader reader)

Métodos públicos

void flush ()

ConsoleReader getConsoleReader ()

Obtenga la instancia de ConsoleReader que estamos usando internamente

void setAsyncMode ()

Establecer modo asíncrono.

void setSyncMode ()

Establecer modo síncrono.

void write (byte[] b, int off, int len)

Una implementación especial para mantener visible el búfer de comandos del usuario cuando las tareas asincrónicas escriben en stdout.

void write (int b)

Constructores públicos

ConsoleReaderOutputStream

public ConsoleReaderOutputStream (ConsoleReader reader)

Parámetros
reader ConsoleReader

Métodos públicos

enjuagar

public void flush ()

getConsoleReader

public ConsoleReader getConsoleReader ()

Obtenga la instancia de ConsoleReader que estamos usando internamente

Devoluciones
ConsoleReader

setAsyncMode

public void setAsyncMode ()

Establecer modo asíncrono. Esto ocurre inmediatamente después de mostrar el símbolo del sistema y comenzar a esperar la entrada del usuario. En este modo, se garantiza que la línea más reciente en la pantalla será el símbolo del sistema. En particular, las tareas asincrónicas pueden intentar imprimir en la pantalla, y barajaremos el aviso cuando lo hagan.

setSyncMode

public void setSyncMode ()

Establecer modo síncrono. Esto ocurre después de que el usuario haya tomado alguna medida, de modo que se garantice que la línea más reciente en la pantalla _no_ sea el símbolo del sistema. En este caso, deshabilitamos el comportamiento de reproducción aleatoria (que requiere que la línea más reciente en la pantalla sea la solicitud)

escribir

public void write (byte[] b, 
                int off, 
                int len)

Una implementación especial para mantener visible el búfer de comandos del usuario cuando las tareas asincrónicas escriben en stdout.

Si se detecta una escritura de línea completa (una que termina con "\ n"), nosotros:

  1. Borre la línea actual (que contendrá la solicitud y el búfer del usuario
  2. Imprima la (s) línea (s) completa (s), lo que nos colocará en una nueva línea.
  3. Vuelva a dibujar el indicador y el búfer del usuario

Al hacerlo, nunca omitimos ninguna salida registrada de forma asíncrona, pero aún conservamos el aviso y el búfer del usuario como los últimos elementos en la pantalla.

FIXME: Probablemente deberíamos almacenar en búfer la salida y solo escribir líneas completas en la consola.

Parámetros
b byte

off int

len int

escribir

public void write (int b)

Parámetros
b int