You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2021/01/18 20:48:00 UTC
[jira] [Commented] (IO-651) Provide method to retrieve data from
DeferredFileOutputStream as InputStream
[ https://issues.apache.org/jira/browse/IO-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17267522#comment-17267522 ]
Gary D. Gregory commented on IO-651:
------------------------------------
[~jmark]
Feel free to provide a PR on GitHub with unit tests.
> 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
> Priority: Major
> Labels: easyfix, performance, pull-request-available
>
> 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)