You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "John Mark (Jira)" <ji...@apache.org> on 2020/02/12 16:46:00 UTC
[jira] [Created] (IO-651) Provide method to retrieve data from
DeferredFileOutputStream as InputStream
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)