2

我正在尝试从 java 代码中控制外部进程,如下所示:

String[] Args = { mPath, "\"" + filePath + "\"" };
ProcessBuilder pb = new ProcessBuilder(Args);
mProcess = pb.start();

然后我想从stderr读一些东西:

mError = new BufferedReader(new InputStreamReader(
    mProcess.getErrorStream()));
if (mError.ready()){
    //read
}

并且 ready() 总是返回 false。

但在此之后:

pb.redirectError(Redirect.to(new File("c:\\err.log")));

所有错误消息都可以在 err.log 文件中找到。我究竟做错了什么 ?

4

1 回答 1

0

试试下面对我有用的代码。

 ProcessBuilder builder = new ProcessBuilder(ARGS);
 builder.redirectErrorStream(true); // setting  true  
于 2013-05-04T15:27:21.113 回答