I am generating dynamic page using JSP, I want to save this dynamically generated complete page in file as archive.
In JSP, everything is written to PrintWriter out = response.getWriter();
At the end of page, before sending response to client I want to save this page, either in file or in buffer as string for later treatment.
How can I save Printwriter
content or convert to String
?
The write(String) method of PrintWriter Class in Java is used to write the specified String on the stream. This String value is taken as a parameter. Parameters: This method accepts a mandatory parameter string which is the String to be written in the Stream. Return Value: This method do not returns any value.
FileWriter fw = new FileWriter("file. txt"); StringWriter sw = new StringWriter(); sw. write("some content..."); fw. write(sw.
You create the print writer pointing to the system out stream.
To get a string from the output of a PrintWriter
, you can pass a StringWriter
to a PrintWriter
via the constructor:
@Test public void writerTest(){ StringWriter out = new StringWriter(); PrintWriter writer = new PrintWriter(out); // use writer, e.g.: writer.print("ABC"); writer.print("DEF"); writer.flush(); // flush is really optional here, as Writer calls the empty StringWriter.flush String result = out.toString(); assertEquals("ABCDEF", result); }
Why not use StringWriter
instead? I think this should be able to provide what you need.
So for example:
StringWriter strOut = new StringWriter(); ... String output = strOut.toString(); System.out.println(output);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With