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 { ; }