我正在尝试使用 System.setOut 将 System.out 重定向到一个字符串,它需要一个 PrintStream。有什么方法可以将 StringWriter 转换为 Stream 以便我可以将它传递给 setOut?
最佳答案
你不能完全那样做,因为 StringWriter
是一个 Writer
,而不是一个 Stream
。但你可以这样做:
// 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();
关于java - 在 Java 中将 StreamWriter 转换为 OutputStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/565508/