Runtime.exec()와
ProcessBuilder 클래스를 이용하여, 구현할 수 있다.
그리고 apache 프로젝트에 'apache common exec'라는 라이브러리도 있다고 한다.
경험상 외부 프로그램 실행시에는 현재 실행 위치가 잘 안 먹는 경향이 있으니,
절대 경로를 이용해서 명령을 내려주는 것이 여러모로 편하다.
<오늘 작성했던 코드일부>
String binDir_ = System.getProperty("user.dir") + "/exec/node3d/";
String[] cmdArray = new String[] {
binDir_ + "nodes3d.exe",
System.getProperty("user.dir") + "/" + inputFile
};
try {
Process p = new ProcessBuilder(cmdArray).start();
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
System.out.printf("출력 %s :", Arrays.toString(cmdArray));
System.out.println();
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
* 참고링크
'Code > Java' 카테고리의 다른 글
우분투에서 이클립스 셋팅 (한글) (0) | 2011.05.03 |
---|---|
경량 DBMS 사용하기 (0) | 2010.09.06 |
Java System Property (0) | 2010.09.06 |
Rosa 2000 - map toolbar isn't visible. (0) | 2010.04.27 |
eclipse 부팅을 빠르게... (0) | 2010.04.14 |