2009년 5월 8일 금요일

외부 명령어를 JAVA에서 실행하는 방법

/**
* Runtime Class를 이용한 외부 명령어 사용 예제
*
* Javastudy에서 퍼옴.
*
* Created on 2002-07-23 PM 3:30
*/

import java.io.*;

/**
* @author Lee sang hyup
* @version
*/

public class RuntimeTest {
public static void main(String[] args) {
try {
// Runtime의 인스턴스를 가져옵니다.
Runtime runtime = Runtime.getRuntime() ;

// 특정 명령을 실행하고 그 프로세스를 가져옵니다.
// native platform에 따라 예외가 발생할 수 있습니다.
Process process = runtime.exec( "C:\\WINNT\\NOTEPAD.exe" );

// 예외 없이 프로세스가 만들어 졌다면 해당 예외로 나오는 출력을 처리하기 위해서 입력스트림을 받아옵니다.
InputStream is = process.getInputStream() ;

// 입력스트림을 입력스트립 리더로 감싸고 다시 이를 버퍼화된 리더로 감쌈니다. 다시 말하면 wrapping합니다.
// 이는 본질 적인 부분은 아니고 위의 코드와 결합할 수도 있죠. 좀 지저분(?)한 것을 감수한다면요.
BufferedReader br = new BufferedReader( new InputStreamReader( is ) ) ;

while( true ) {
String str = br.readLine() ;
if( str == null || str.equals( "" ) ) break ;
System.out.println( str ) ;
}
}
catch( Exception e ) {
e.printStackTrace() ;
}
}
}

댓글 없음: