Java에서 콘솔 출력을 문자열로 캡처하는 방법
Java에서는 인쇄하는 메서드의 출력을 캡처해야 하는 경우가 있습니다. 문자열로 콘솔에 직접 전달됩니다. 이는 동적으로 콘텐츠 생성, 로깅 또는 테스트에 유용할 수 있습니다.
콘솔 출력을 문자열로 리디렉션하는 한 가지 방법은 System.setOut 메서드를 활용하는 것입니다. ByteArrayOutputStream 및 PrintStream을 구성하면 실시간으로 출력을 캡처할 수 있습니다.
예:
<code class="java">ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream ps = new PrintStream(baos); // Save the old System.out for later restoration PrintStream old = System.out; // Redirect System.out to your PrintStream System.setOut(ps); // Print to your custom stream System.out.println("Captured Output"); // Restore the original System.out System.out.flush(); System.setOut(old); // Retrieve the captured output as a string String output = baos.toString();</code>
이 코드는 "Captured"의 출력을 캡처합니다. 출력"을 출력 문자열로 보냅니다. 그런 다음 원하는 대로 출력을 처리하거나 조작할 수 있습니다. System.out 스트림을 동적으로 변경하면 문자열 변수를 포함하여 콘솔 출력을 원하는 대상으로 리디렉션할 수 있습니다.
위 내용은 Java에서 콘솔 출력을 문자열로 캡처하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!