I'm using a specific library (unfortunately can't be avoided) that writes some information from a class to a file using a utility function that receives a DataOutputStream as the input.
I would like to get the resulting file's content as a String without actually creating a file and writing into it as the writing can be pretty "taxing" (1000+ lines).
Is this possible to do by using a dummy DataOutputStream or some other method and without resorting to creating a temporary file and reading the result from there?
P.S: the final method that actually writes to the DataOutputStream changes from time to time so I would prefer not actually copy-paste it and redo it every time.
As
java.io.DataOutputStreamwraps around just any otherjava.io.OutputStream(you have to specify an instance in the constructor) I would recommend that you use ajava.io.ByteArrayOutputStreamto collect the data in-memory and get the String of that later with the.toString()method.Example:
If the encoding of the collected bytes does not match the system default encoding, you might have to specify a Charset as parameter of the
toString.