>Java >java지도 시간 >Java에서 명령줄 출력을 효율적으로 캡처하는 방법은 무엇입니까?

Java에서 명령줄 출력을 효율적으로 캡처하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-28 14:21:30488검색

How to Efficiently Capture Command Line Output in Java?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.