java - 显示 Runtime.exec() 返回的进程的输出流

标签 java outputstream runtime.exec

如何将执行命令获得的输出字符串打印到标准输出?

所以Runtime.getRuntime().exec()会返回一个Process,通过调用getOutputStream(),我可以获得对象如下,但如何将其内容显示到stdout?

OutputStream out = Runtime.getRuntime().exec("ls").getOutputStream();

谢谢

最佳答案

我相信您正在尝试从进程中获取输出,为此您应该获取InputStream

InputStream is = Runtime.getRuntime().exec("ls").getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader buff = new BufferedReader (isr);

String line;
while((line = buff.readLine()) != null)
    System.out.print(line);

当您想要写入/发送一些输出到 Process 时,您将获得 OutputStream

关于java - 显示 Runtime.exec() 返回的进程的输出流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995969/

相关文章:

java - Appium为什么要推送apk?

java - 如何将 OutputStream 转换为字符串?

java - Runtime.getRuntime().exec(),执行Java类

java - Hibernate:分离的实体传递到持久化

java - 如何使用Hibernate获取SQL Server存储过程的执行结果?

scala - 如何在 Play 2.1 中使用带有分块响应的 OutputStreams

java - 无法从 java 属性文件中删除 key

Java进程: read stdout and stderr of a subprocess in a single thread

java - 将参数传递给 Runtime.getRuntime().exec() 并在开头添加一个选项

java - Spring 启动安全 : Exception handling with custom authentication filters