개발/Java

[Java] Java 코드로 CMD 명령어 실행해 결과값 출력하기

hojak99 2017. 8. 1. 16:56

자바 코드를 통해 메모장에 있는 코드들을 컴파일 해 그 결과값을 얻어보고 싶어졌다.


그래서 자바 코드로 CMD 명령어를 실행해야 하는데 다른 블로그에서는 실제 예제가 없어서 직접 코드를 쳐서 만들어 보았다.


나는 우선 "ipconfig" 라는 명령어를 자바 코드에서 실행해 결과값을 얻어보고 싶어졌다.



import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Cmd {
	
	private StringBuffer buffer;
	private Process process;
	private BufferedReader bufferedReader;
	private StringBuffer readBuffer;
	
	public String inputCommand(String cmd) {
		
		buffer = new StringBuffer();
		
		buffer.append("cmd.exe ");	
		buffer.append("/c ");
		buffer.append(cmd);

		return buffer.toString();
	}
	
	public String execCommand(String cmd) {
		try {
			process = Runtime.getRuntime().exec(cmd);
			bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
			
			String line = null;
			readBuffer = new StringBuffer();
			
			while((line = bufferedReader.readLine()) != null) {
				readBuffer.append(line);
				readBuffer.append("\n");
			}
			
			return readBuffer.toString();
		}catch (Exception e) {
			e.printStackTrace();
			System.exit(1);
		}
		
		return null;
	}
}



public class Complier {
	public static void main(String[] args) {
		Cmd cmd = new Cmd();
	
		String command = cmd.inputCommand("ipconfig");
		String result = cmd.execCommand(command);
		
		System.out.println(result);
	}
}





결과값은 다음과 같아진다.


[사진 1: "ipconfig" 결과값 출력]


반응형