Sunday, April 3, 2011

Convert a StreamWriter to an OutputStream in java ?

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?

From stackoverflow
  • 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();
    
    toolkit : +1 - plus deleted my duplicate post

0 comments:

Post a Comment