Redirigir stdin y stdout en Java
Estoy tratando de redireccionar la entrada estándar y la salida estándar de un subproceso en java, eventualmente voy a hacer que la salida vaya a una JTextArea o algo así.
Aquí está mi código actual,
<code>Process cmd = Runtime.getRuntime().exec("cmd.exe"); cmd.getOutputStream().write("echo Hello World".getBytes()); cmd.getOutputStream().flush(); byte[] buffer = new byte[1024]; cmd.getInputStream().read(buffer); String s = new String(buffer); System.out.println(s); </code>
La salida se ve así:
<code>Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\(Current Directory)> </code>
Estoy esperando ver la cadena de "Hello World" emitida. Tal vez porque el proceso de los padres no se mantiene vivo el tiempo suficiente?
También me gustaría poder enviar y recibir múltiples comandos.