Java에서 명령줄 출력 추출
Java의 Runtime 클래스는 명령줄 프로그램을 실행하는 기능을 제공합니다. 그러나 이러한 명령으로 생성된 출력을 얻는 것은 어려운 작업일 수 있습니다. 이 문서에서는 런타임 클래스를 사용하여 명령줄 프로그램에서 출력을 추출하는 방법을 설명하여 이 문제를 해결합니다.
제공된 코드에서 오류 메시지는 출력 스트림을 제대로 읽지 못하고 있음을 나타냅니다. 이를 수정하기 위해 다음 코드는 강력한 방법을 보여줍니다.
Runtime rt = Runtime.getRuntime(); String[] commands = {"system.exe", "-get t"}; Process proc = rt.exec(commands); BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream())); BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream())); // Read the output from the command System.out.println("Here is the standard output of the command:\n"); String s = null; while ((s = stdInput.readLine()) != null) { System.out.println(s); } // Read any errors from the attempted command System.out.println("Here is the standard error of the command (if any):\n"); while ((s = stdError.readLine()) != null) { System.out.println(s); }
이 코드는 런타임 클래스를 활용하여 명령을 실행하고 프로세스의 표준 입력 및 오류 스트림 모두에 대한 판독기를 엽니다. 그런 다음 출력 및 오류 줄을 반복하여 콘솔에 인쇄합니다.
더 포괄적인 세부 정보와 고급 옵션을 보려면 ProcessBuilder의 Java 설명서(https://docs.oracle.com/javase/)를 참조하세요. 7/docs/api/java/lang/ProcessBuilder.html
위 내용은 Java에서 명령줄 출력을 효율적으로 캡처하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!