Programming/Java

Java: 윈도우 명령어 사용하기 / Window Command

고고마코드 2022. 5. 11. 16:44
반응형

Java로 윈도우 명령어를 사용해야 하는 경우가 생겼습니다.
명령어 메소드 및 사용법을 정리합니다.


명령어 실행 메소드

public String execCmd(String cmd) {
    try {
        Process process = Runtime.getRuntime().exec(new String[]{"cmd", "/c", cmd});
        BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(), "MS949")); 
        String line = null;
        StringBuffer sb = new StringBuffer();
        sb.append(cmd);
        while ((line = reader.readLine()) != null) {
            sb.append(line);
            sb.append("\n");
        }

        return sb.toString() + "\n";
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

new InputStreamReader(process.getInputStream(), "MS949")

MS949는 원활한 한글 출력을 위해 사용했습니다. 한글이 필요없다면 없어도 됩니다.

메소드 활용

public static void main(String[] args) throws InterruptedException {
    CommandWindow cmdWin = new CommandWindow();

    StringBuilder sb = new StringBuilder();
    sb.append(cmdWin.execCmd("ipconfig"));

    System.out.println(sb.toString());
}

실행 결과

반응형