假设我使用exec()函数在java中执行一个命令,并将引用存储在一个进程中。如何写入该进程的输入流
Process P = Runtime.getRuntime().exec("cmd /c start telnet");
System.out.println("done running ..");
OutputStream output = P.getOutputStream();
BufferedOutputStream out = new BufferedOutputStream(output);
String S = "open\n";
byte[] BS = S.getBytes();
out.write(BS); out.close();
我做了那件事,但没用。。。。。。。。。。以上是我的代码附件
3条答案
按热度按时间ee7vknir1#
我觉得你不需要
cmd /c
咬了你一口exec
打电话。因为exec本身会为您生成一个shell。无论如何,java中的进程处理是一个真正的难题。如果可以的话,我建议您使用apacheexec包。它能帮你处理很多低级的疼痛。ubby3x7f2#
看起来您实际上想要进程的outputstream,因为您想要向进程发送数据(除非我误解了您的问题)。
下面是一个例子。
dvtswwa33#
写入输出流而不是输入流: