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

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

                Author: ASF GitHub Bot
            Created on: 20/Feb/21 22:21
            Start Date: 20/Feb/21 22:21
    Worklog Time Spent: 10m 
      Work Description: garydgregory commented on a change in pull request #206:
URL: https://github.com/apache/commons-io/pull/206#discussion_r579716893



##########
File path: 
src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java
##########
@@ -272,4 +274,31 @@ public void writeTo(final OutputStream outputStream) 
throws IOException {
             }
         }
     }
+
+    /**
+     * Gets the current contents of this byte stream as an {@link InputStream}.
+     * If the data for this output stream has been retained in memory, the
+     * returned stream is backed by buffers of {@code this} stream,
+     * avoiding memory allocation and copy, thus saving space and time.<br>
+     * Otherwise, the returned stream will be one that is created from the data
+     * that has been committed to disk.
+     *
+     * @return the current contents of this output stream.
+     * @throws IOException if this stream is not yet closed or an error occurs.
+     * @see org.apache.commons.io.output.ByteArrayOutputStream#toInputStream()

Review comment:
       Ping. FYI, you should run the _default_ Maven build: 'mvn'.
   




----------------------------------------------------------------
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:
us...@infra.apache.org


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

    Worklog Id:     (was: 555277)
    Time Spent: 2h 10m  (was: 2h)

> 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: 2h 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)

Reply via email to