【发布时间】:2012-05-11 13:07:59
【问题描述】:
我正在尝试重定向 java 中子进程的标准输入和标准输出,最终我会让输出转到 JTextArea 或其他东西。
这是我当前的代码,
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);
输出如下所示:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\(Current Directory)>
我期待看到“Hello World”字符串的输出。 可能是因为父进程的存活时间不够长?
我还希望能够发送和接收多个命令。
【问题讨论】: