已启动进程错误流为空

时间:2013-05-04 15:11:03

标签: java windows process stderr

我正试图从这样的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文件中找到所有错误消息。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试以下适合我的代码。

 ProcessBuilder builder = new ProcessBuilder(ARGS);
 builder.redirectErrorStream(true); // setting  true