Java로 명령줄 명령 실행
Java를 사용하여 명령줄 인수를 실행하려고 할 때는 다양한 운영 방식의 미묘한 차이를 이해하는 것이 중요합니다. 시스템. 이 문서는 Windows 사용자가 Java를 통해 CMD 명령을 실행하려고 할 때 직면하는 특정 문제를 해결하는 것을 목표로 합니다.
질문에 제공된 예는 명령을 통해 "cd" 및 "dir" 명령을 실행하려는 시도를 보여줍니다. Java를 사용하는 라인. 그러나 이 방법은 예상한 결과를 얻지 못합니다. 이를 극복하려면 대안적인 접근 방식이 필요합니다.
해결책은 명령 프롬프트(CMD) 프로세스를 구성하고 입력 및 출력 스트림을 통해 대화식으로 통신하는 데 있습니다. 이를 통해 다음 코드에서 볼 수 있듯이 단일 프로세스 내에서 여러 명령을 원활하게 실행할 수 있습니다.
String[] command = {"cmd"}; Process p = Runtime.getRuntime().exec(command); // Thread to handle error stream new Thread(new SyncPipe(p.getErrorStream(), System.err)).start(); // Thread to handle input stream new Thread(new SyncPipe(p.getInputStream(), System.out)).start(); // PrintWriter to write to the output stream PrintWriter stdin = new PrintWriter(p.getOutputStream()); // Write the "dir" command stdin.println("dir c:\ /A /Q"); // Close the stdin stream stdin.close(); // Wait for the process to complete int returnCode = p.waitFor(); // Print the return code System.out.println("Return code = " + returnCode);
이 접근 방식을 사용하면 CMD 프로세스 내에서 여러 명령을 실행할 수 있어 보다 효율적이고 다양한 기능을 제공할 수 있습니다. Java의 명령줄과 상호 작용하는 방식입니다.
위 내용은 Java에서 여러 CMD 명령을 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!