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

回到顶部