:실시간으로 Runtime.exec에서 stdout 및 stderr을 얻는 방법은 무엇입니까?
Process runJob = null;
try {
runJob = Runtime.getRuntime().exec(args);
InputStream cmdStdErr = null;
InputStream cmdStdOut = null;
cmdStdErr = runJob.getErrorStream();
cmdStdOut = runJob.getInputStream();
String line;
BufferedReader stdOut = new BufferedReader (new InputStreamReader (cmdStdOut));
while ((line = stdOut.readLine()) != null) {
logger.info(line);
}
cmdStdOut.close();
// send error to Ab Initio and exit
BufferedReader br = new BufferedReader(new InputStreamReader(cmdStdErr));
String errMsg="";
while ((line = br.readLine()) != null) {
logger.info(line);
errMsg += line;
}
cmdStdErr.close();
res = runJob.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
문제는 작업이 실행되는 경우는 표준 출력을위한 출력 만의 InputStream을 많이 생산 및 stderr 작업이 수행 된 후에 만 출력을 인쇄한다는 것입니다.
실시간으로 출력을 얻을 수있는 방법이 있습니까? 예를 들어 작업이 출력 할 때 표준 오류 및 표준 출력을 얻는 방법이 있습니까?
감사합니다,