Redirecionar stdin e stdout em Java
Eu estou tentando redirecionar stdin e stdout de um subprocesso em java, eventualmente, eu vou ter a saída para um JTextArea ou algo assim.
Aqui está meu código atual,
<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>
A saída é assim:
<code>Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\(Current Directory)> </code>
Espero ver a sequência "Hello World" emitida. Talvez porque o processo pai não esteja vivo por tempo suficiente?
Eu também gostaria de poder enviar e receber vários comandos.