java - BufferedReader 和 process.getOutputStream()

标签 java bufferedreader

我只是想用 Java 执行一个进程,所以

Runtime runtime = Runtime.getRuntime();
this.process = null;

try {
    this.process = runtime.exec(new String[] {
        properties.getPropertyStr("ffmpegExecutable", "/usr/bin/ffmpeg"),
        "-i", this.streamEntry.getSource(),
        "-vcodec", "copy",
        "-acodec", "copy",
        this.streamEntry.getDestination()
    });
} catch (IOException e) {
    e.printStackTrace();
    return;
}

BufferedReader stdout = new BufferedReader(???process.getOutputStream());

我只是希望能够逐行读取流程的输出。我该怎么做呢?

最佳答案

BufferedReader is;  // reader for output of process
String line;

// getInputStream gives an Input stream connected to
// the process standard output. Just use it to make
// a BufferedReader to readLine() what the program writes out.
is = new BufferedReader(new InputStreamReader(p.getInputStream()));

while ((line = is.readLine()) != null)
  System.out.println(line);

关于java - BufferedReader 和 process.getOutputStream(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236852/

相关文章:

java - 读取输出流的内容

Java Crystal Report SDK - 报表和子报表

java - TreeViewer 不显示输入

java - 将 List<Son> 转换为 List<Father>

java - SSLHandShakeException 没有合适的协议(protocol)

java - 使用 BufferedReader 读取错误

java - JAXB 自定义接口(interface)绑定(bind)

java - 跳出同步块(synchronized block)?

java - 缓冲读取器中的异常

java - 是什么触发 Socket 的 InputStream 关​​闭(或到达流的末尾)并简单地产生 null?