You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/02/19 16:40:00 UTC

[jira] [Work logged] (IO-651) Provide method to retrieve data from DeferredFileOutputStream as InputStream

     [ https://issues.apache.org/jira/browse/IO-651?focusedWorklogId=554813&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-554813 ]

ASF GitHub Bot logged work on IO-651:
-------------------------------------

                Author: ASF GitHub Bot
            Created on: 19/Feb/21 16:39
            Start Date: 19/Feb/21 16:39
    Worklog Time Spent: 10m 
      Work Description: jmark109 opened a new pull request #206:
URL: https://github.com/apache/commons-io/pull/206


   Add DeferredFileOutputStream.getInputStream() for efficient retrieval of OutputSteam data.
   
   Fixes IO-651.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 554813)
    Remaining Estimate: 0h
            Time Spent: 10m

> 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
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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)