在java中将StreamWriter转换为OutputStream?
我正在尝试使用System.setOut将System.out重定向到一个字符串中,它接受一个PrintStream。有没有办法将StringWriter转换成一个流,这样我就可以将它传递给setOut?您不能准确地这样做,因为在java中将StreamWriter转换为OutputStream?,java,io,stream,Java,Io,Stream,我正在尝试使用System.setOut将System.out重定向到一个字符串中,它接受一个PrintStream。有没有办法将StringWriter转换成一个流,这样我就可以将它传递给setOut?您不能准确地这样做,因为StringWriter是一个编写器,而不是流。但你可以这样做: // create a ByteArray stream, which will be wrapped by a PrintStream ByteArrayOutputStream baos = new B
StringWriter
是一个编写器,而不是流。但你可以这样做:
// 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();