Java:将PrintStream转换为String?
我有一个函数,该函数接受某种类型的对象PrintStream
并向其打印,并输出该对象的表示。如何在字符串中捕获此函数的输出?具体来说,我想将其用作toString
方法。
回答:
使用a
ByteArrayOutputStream
作为缓冲区:
import java.io.ByteArrayOutputStream;import java.io.PrintStream;
import java.nio.charset.StandardCharsets;
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final String utf8 = StandardCharsets.UTF_8.name();
try (PrintStream ps = new PrintStream(baos, true, utf8)) {
yourFunction(object, ps);
}
String data = baos.toString(utf8);
以上是 Java:将PrintStream转换为String? 的全部内容, 来源链接: utcz.com/qa/421211.html