Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.6
-
Patch
Description
It would be very helpful to have to toInputStream() method on the DeferredFileOutputStream class. Besides for convenience, it would allow for improved efficiency since in the case of in-memory data the byte buffer would not need to be copied (as opposed to the current getData() method).
The implementation is pretty simple and can be something like the following (based on the current writeTo(OutputStream) method):
public InputStream toInputStream() throws IOException { if (!closed) { throw new IOException("Stream not closed"); } if (isInMemory()) { return memoryOutputStream.toInputStream(); } else { return Files.newInputStream(outputFile.toPath()); } }