Process p;
String osName = System.getProperty("os.name");
InputStream stdout = null;
InputStream stderr = null;
String[] cmd;
if(osName.toLowerCase().startsWith("window")) {
cmd = new String[] { "cmd.exe", "/y", "/c", command };
} else {
cmd = new String[] { "/bin/sh", "-c", command };
}
p = Runtime.getRuntime().exec(cmd);
p.waitFor(); // wait for process finishing.
// 외부 프로그램 출력 읽기
// "표준 출력"과 "표준 에러 출력"을 출력
stdout = p.getInputStream();
BufferedReader out_br = new BufferedReader(new InputStreamReader(stdout));
String line = null;
while ( (line=out_br.readLine()) != null) out.println(line);
stderr = p.getErrorStream();
BufferedReader err_br = new BufferedReader(new InputStreamReader(stderr));
while ( (line=err_br.readLine()) != null) out.println(line);
// 외부 프로그램 반환값 출력 (이 부분은 필수가 아님)
System.out.println("Exit Code: " + p.exitValue());
System.exit(p.exitValue()); // 외부 프로그램의 반환값을, 이 자바 프로그램 자체의 반환값으로 삼기
'프로그래밍 > Java' 카테고리의 다른 글
[이클립스] 플러그인 FindBugs (0) | 2010.06.10 |
---|---|
[jsp]DisplayTag 에서 row num 구하기. (2) | 2010.02.23 |
순서 보장 되는 HashMap (0) | 2009.11.19 |
oracle 에서 jdbc로 년월일 시분초 읽어오기. (0) | 2009.10.21 |
[CVS] 이클립스에서 CVS 생성하기. (0) | 2009.08.04 |