Manejo de procesos Java: ¿mantener el orden correcto con salida + flujo de error?

Suponga que estoy ejecutando un proceso y quiero redirigir sus secuencias a través de la técnica clásica:

ProcessBuilder pb = new ProcessBuilder("C:/folder/script.bat");
Process p = pb.start();
InputStreamReader out = p.getInputStream();
InputStreamReader err = p.getErrorStream();
OutputStreamWriter in = p.getOutputStream();    

Ahora mi pregunta: quiero mostrar toda la salida en negro y todos los errores en rojo, y quiero mantener el orden correcto.

  • El primer enfoque que me viene a la mente es usar pb.redirectErrorStream(true);, que los fusiona en el orden correcto, pero ya no es posible aplicar los diferentes colores.
  • El segundo enfoque es verificar alternativamente ambas secuencias para obtener una nueva salida. El problema aquí es que cuando la salida y un error aparecen casi al mismo tiempo, no puedo determinar cuál debe mostrarse primero. Así que aquí puedo mostrar los colores correctos, pero no en el orden correcto.

Así que tampoco funciona como se esperaba. ¿Cómo debo mostrar los resultados / errores en diferentes colores, en el orden correcto?

Respuesta 1

Dado un conjunto. ¿Cómo encuentro todas las palabras en la lista que tienen más de tres caracteres y las agrego a una nueva lista public class RunnerClass {public static int counter; público estático ...

En este momento tengo una tarea escolar donde tengo que crear un juego de conectar 4 en Java sin una interfaz gráfica de usuario utilizando matrices. Hasta ahora he podido hacer que el juego detecte un cuatro horizontal en una fila, pero puedo '...

Creé una lista de cadenas en Java y quiero iterar a través de los elementos (nombres de animales) que agregué usando la clase de iterador. Me preguntaba por qué escribirlo manualmente.next () en el siguiente código ...

Estoy haciendo un programa que toma datos de un archivo y crea un juego de laberinto. Un ejemplo de archivo maze.txt se vería así: 5 5 P.XX. ...X. .XT .. ..X .. X .... Donde los dos números en la parte superior definen ...