John Mark created IO-651:
----------------------------

             Summary: Provide method to retrieve data from 
DeferredFileOutputStream as InputStream
                 Key: IO-651
                 URL: https://issues.apache.org/jira/browse/IO-651
             Project: Commons IO
          Issue Type: Improvement
          Components: Streams/Writers
    Affects Versions: 2.6
            Reporter: John Mark


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):
{code:java}
public InputStream toInputStream() throws IOException {
    if (!closed) {
        throw new IOException("Stream not closed");
    }

    if (isInMemory()) {
        return memoryOutputStream.toInputStream();
    } else {
        return Files.newInputStream(outputFile.toPath());
    }
}
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to