【发布时间】:2011-05-10 03:56:29
【问题描述】:
我知道如何将标准输出重定向到一个文件,但我不知道如何将它重定向到一个字符串。
【问题讨论】:
我知道如何将标准输出重定向到一个文件,但我不知道如何将它重定向到一个字符串。
【问题讨论】:
是的 - 您可以使用 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)));
【讨论】: