배치(bat) 또는 쉘(sh) 실행하는 자바 코드 (190214 수정)
실행되었을 때 터미널 창에 찍히는 값을 가져올 수 있다.
ProcessBuilder processBuilder = null;
Process process = null;
try {
String osType = “window”;
// String osType = “unix”;
String filePath = “”;
if (osType.toLowerCase().indexOf(“window”) > -1) {
processBuilder = new ProcessBuilder(“CMD”, “/c”, filePath /* 배치 파일 경로 */);
} else {
processBuilder = new ProcessBuilder(“sh”,filePath /* 쉘 파일 경로 */);
}
processBuilder.redirectErrorStream(true);
process = processBuilder.start();
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = br.readLine() ) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
예제로 bat 파일을 만들고 싶다면 아래와 같이 작성해서 bat확장자로 저장하면 된다.
@echo off
echo 첫 번째 라인
echo 두 번째 라인
echo next line
echo bye