javaで標準出力の内容を取得する方法
Javaでは、出力ストリームの内容を取得する方法は次のとおりです。
- ByteArrayOutputStreamクラスを使用すると、ByteArrayOutputStreamオブジェクトを作成し、出力ストリームの内容をオブジェクトに書き込んで、toByteArray()メソッドを使用して内容を取得することができます。
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(outputStream);
System.setOut(printStream);
// 在标准输出流上执行输出操作
System.out.println("Hello, World!");
// 获取输出流的内容
String output = outputStream.toString();
System.out.println(output);
- StringWriterクラスを使用した場合、StringWriterオブジェクトを作成してPrintWriterのコンストラクタに渡せば、toString()メソッドでその内容を取得できる。
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
System.setOut(printWriter);
// 在标准输出流上执行输出操作
System.out.println("Hello, World!");
// 获取输出流的内容
String output = stringWriter.toString();
System.out.println(output);
出力ストリームの取得には二通りの方法がありますが、どれを利用するかはニーズや好みに依存します。