앱)자바 외부 실행파일 실행 1.7 이상에서 processbuilder 예제로 실행하고 정상적으로 종료

Posted by HULIA(휴리아)
2018. 1. 22. 10:36 백엔드개발/자바스프링
String[] cmd = new String[] {"copy","a.txt","b.txr"};
ProcessBuilder builder = new ProcessBuilder (cmd);
//builder.redirectOuptput (Redirect.INHERIT);
//builder.redirectError (Redirect.INHERIT);
Process process;

process = builder.start ();

BufferedReader stdOut = new BufferedReader( new InputStreamReader (process.getInputStream ()) );

while( (str = stdOut.readLine ()) != null ) {
sysout (str);

//실행중에 에러가 났을때
if (str.contains ("ERROR:")){
throw new Exception (str);
}
//실행파일이 정상적인 위치에 없을때
else if(str.contains("No such file or directory"){

}
else{
logger.info (str);
}
}

//프로세스 정상종료(파일사이즈 정상적으로 업데이트 완료)
process.waitFor ();