I am trying to redirect System.out into a String using System.setOut, which takes a PrintStream. Is there any way to convert a StringWriter into a Stream so that I can pass it to setOut?
+10
A:
You can't do that exactly, since StringWriter
is a Writer
, not a Stream
. But you can do this:
// 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();
Yuval A
2009-02-19 14:29:59
+1 - plus deleted my duplicate post
toolkit
2009-02-19 14:50:21