Java

Java에서 ProcessBuilder를 이용하여 OS Command 실행

동교동삼거리·2020년 5월 8일·조회 11,193

1. 개요

자바 코드 상에서 OS 명령어를 실행하기 위한 방법 중 ProcessBuilder를 이용하는 예를 살펴본다.


2. 사전지식

OS 명령어 실행을 위한 Arugument는 List<String> 형태로 전달한다. 예를 들면 다음과 같다.

List command = new ArrayList();
command.add("ls");
command.add("-l");
command.add("/"); 

3. 예제 코드

ProcessBuilder processBuilder = new ProcessBuilder(command);

try {
	System.out.println("run " + StrUtil.getListString(command));
	
	Process process = processBuilder.start();

	BufferedReader outReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
	BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));

	String line;
	while ((line = outReader.readLine()) != null) {
		System.out.println(line);
	}
	while ((line = errorReader.readLine()) != null) {
		System.out.println(line);
	}

	int exitCode = process.waitFor();
	System.out.println("\nExited with error code : " + exitCode);
} catch (IOException ex) {
	ex.printStackTrace();
} catch (Exception ex) {
	ex.printStackTrace();
} finally {
	;
}

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.