Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将StreamWriter转换为OutputStream?_Java_Io_Stream - Fatal编程技术网

在java中将StreamWriter转换为OutputStream?

在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

我正在尝试使用System.setOut将System.out重定向到一个字符串中,它接受一个PrintStream。有没有办法将StringWriter转换成一个流,这样我就可以将它传递给setOut?

您不能准确地这样做,因为
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();