我知道如何将stdout重定向到文件,但我不知道如何将它重定向到字符串。
答案 0 :(得分:54)
是的 - 您可以使用ByteArrayOutputStream
:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.setOut(new PrintStream(baos));
然后您可以使用baos.toString()
获取字符串。
要指定编码(而不是依赖于平台定义的编码),请使用PrintStream(stream, autoFlush, encoding)
构造函数和baos.toString(encoding)
如果要恢复原始流,请使用:
System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));