public class WinManager { private int orderCode; private BufferedReader br = null; public WinManager() { this.orderCode = 0; initApp(); } void initApp() { while(true) { System.out.println("1. 시스템 종료"); System.out.println("2. 시스템 재시작"); System.out.println("3. 시스템 종료(재시작) 취소"); System.out.println("4. 프로그램 종료"); System.out.print("메뉴번호를 입력해 주세요 : "); try { orderCode = System.in.read(); } catch (IOException ex) { ex.printStackTrace(); } switch(orderCode) { case 49: UtilClass.clearBuffer(System.in); powerOffWindows(); break; case 50: UtilClass.clearBuffer(System.in); restartWindows(); break; case 51: UtilClass.clearBuffer(System.in); operationCancel(); break; case 52: System.exit(0); default: System.out.println("유효한 메뉴번호가 아닙니다"); UtilClass.clearBuffer(System.in); orderCode = 0; } } } void powerOffWindows() { int delayTime = 0; System.out.print("종료 대기시간을 숫자(초단위)로 입력해주세요. : "); delayTime = checkDelayTimeDigit();
String[] cmd = new String[2]; cmd[0] = "cmd.exe "; cmd[1] = "/c shutdown /s /t " + delayTime; startWindowProcess(cmd); } void restartWindows() { int delayTime = 0; System.out.print("재시작 대기시간을 숫자(초단위)로 입력해주세요. : "); delayTime = checkDelayTimeDigit(); String[] cmd = new String[2]; cmd[0] = "cmd.exe "; cmd[1] = "/c shutdown /r /t " + delayTime; startWindowProcess(cmd); } void operationCancel() { String[] cmd = new String[2]; cmd[0] = "cmd.exe "; cmd[1] = "/c shutdown /a"; startWindowProcess(cmd); } void startWindowProcess(String[] cmd) { Runtime rt = Runtime.getRuntime(); Process process; try { process = rt.exec(cmd); process.waitFor(); } catch (IOException ex) { ex.printStackTrace(); } catch (InterruptedException ex) { ex.printStackTrace(); } } int checkDelayTimeDigit() { String userInputString = null; boolean checkValue = false; do { br = new BufferedReader(new InputStreamReader(System.in)); try { userInputString = br.readLine(); } catch (IOException ex) { ex.printStackTrace(); } checkValue = UtilClass.checkDigit(userInputString); }while(checkValue!= true);
return Integer.valueOf(userInputString); } public static void main(String[] args) { WinManager winManger = new WinManager(); } } |