使用 java Runtime.getRunTime.exec() 的交互式命令
如何使用 Runtime.getRunTime.exec() 发送和接收多个输入。
例如,如果我想运行 openSSL 之类的东西来生成 csr,它会要求提供州、城市、通用名等信息。
Process p = Runtime.getRuntime().exec(cmd);
OutputStream out = p.getOutputStream();
//print stuff p.getInputStream();
//Now i want to send some inputs
out.write("test".getBytes());
//flush and close??? don't know what to do here
//print what ever is returned
//Now i want to send some more inputs
out.write("test2".getBytes());
//print what ever is returned.. and so on until this is complete
为什么不使用 p.getInputStream() 来读取需要发送的内容 使用 out.write() 相应地发送数据。
Process p = Runtime.getRuntime().exec(cmd);
OutputStream out = p.getOutputStream();
//print stuff p.getInputStream();
out.write("test".getBytes());
out.close(); //if i don't close, it will just sit there
//print stuff p.getInputStream();
out.write("test".getBytes()); // I can no longer write at this point, maybe because the outputstream was closed?
How can I send and receive multiple inputs using Runtime.getRunTime.exec().
For example if I wanted to run something such as openSSL to generate a csr, it will ask for things such as state, city, common name.. and so on.
Process p = Runtime.getRuntime().exec(cmd);
OutputStream out = p.getOutputStream();
//print stuff p.getInputStream();
//Now i want to send some inputs
out.write("test".getBytes());
//flush and close??? don't know what to do here
//print what ever is returned
//Now i want to send some more inputs
out.write("test2".getBytes());
//print what ever is returned.. and so on until this is complete
why not use p.getInputStream() to read what you need to send while
using out.write() to send data accordingly.
Process p = Runtime.getRuntime().exec(cmd);
OutputStream out = p.getOutputStream();
//print stuff p.getInputStream();
out.write("test".getBytes());
out.close(); //if i don't close, it will just sit there
//print stuff p.getInputStream();
out.write("test".getBytes()); // I can no longer write at this point, maybe because the outputstream was closed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不使用
p.getInputStream().read()
读取您需要发送的内容,同时使用out.write()
发送相应的数据。这是取自以下示例: http://www.rgagnon.com/javadetails/java- 0014.html
why not use
p.getInputStream().read()
to read what you need to send while usingout.write()
to send data accordingly.here is an example taken from: http://www.rgagnon.com/javadetails/java-0014.html