在java中将StreamWriter转换为OutputStream?

2022-09-04 07:30:25

我正在尝试使用System.setOut将System.out重定向到字符串中,这需要PrintStream。有没有办法将StringWriter转换为Stream,以便我可以将其传递给setOut?


答案 1

你不能完全这样做,因为 是 一个 ,而不是一个 .但你可以这样做:StringWriterWriterStream

// create a ByteArray stream, which will be wrapped by a PrintStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
System.setOut(ps);

// print whatever you got
String result = baos.toString();

答案 2

推荐