sme*_*eeb 5 java stdout outputstream
Java 8在这里.如何将数据读Process#getOutputStream()入String?我试图从Java内部运行一个进程并挂钩/捕获它的STDOUT.
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("consul -v");
String capturedOutput;
OutputStream os = proc.getOutputStream();
capturedOutput = howDoIConvert(os); // <---- ???
Run Code Online (Sandbox Code Playgroud)
在这里寻找确切的代码(不是模糊的东西baos.toString(codepage).也感兴趣,如果我需要close()礼貌的任何东西.
您从inputStream读取数据而不是从outputStream读取数据.
OutputStream用于将数据传递给进程.
有两个基本输入流Process.一个是标准输入,可以检索getInputStream()另一个是错误,可以检索getErrorStream()
来自javadoc getInputStream():
返回连接到子进程正常输出的输入流
从 getErrorStream()
返回连接到子进程的错误输出的输入流.
关于流的注意事项:从java程序的角度来看,a Process是一个外部程序.当您需要向外部程序添加一些输入时,您将从java编写到该程序(因此java程序的输出是Process的输入).相反,如果外部程序写入您读取的内容(因此Process的输出是java程序的输入).
Java Data direction External Process
_____________________________________________________________
write to OutputStream ------------> read from InputStream
read from InputStream <------------ write to OutputStream
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5532 次 |
| 最近记录: |