我正试图从这样的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文件中找到所有错误消息。 我做错了什么?
答案 0 :(得分:0)
尝试以下适合我的代码。
ProcessBuilder builder = new ProcessBuilder(ARGS);
builder.redirectErrorStream(true); // setting true