You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Niall Pemberton (JIRA)" <ji...@apache.org> on 2007/10/15 17:15:51 UTC
[jira] Commented: (IO-92) Add DeferredPeriodicOutputStream
[ https://issues.apache.org/jira/browse/IO-92?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534864 ]
Niall Pemberton commented on IO-92:
-----------------------------------
Sorry I don't really see the point of this - how is this different from decorating a FileOutputStream with a BufferedOutputStream? Also I don't see the point in implementing DataOutput - since you can decorate any output stream using DataOutputStream to achieve this.
File myFile = ...
OutputStream out = new BufferedOutputStream(new FileOutputStream(myFile));
...
DataOutput dataOut = new DataOutputStream(out);
out.writeInt(...);
> Add DeferredPeriodicOutputStream
> --------------------------------
>
> Key: IO-92
> URL: https://issues.apache.org/jira/browse/IO-92
> Project: Commons IO
> Issue Type: New Feature
> Components: Streams/Writers
> Environment: Windows XP SP2, jdk 1.5
> Reporter: Michele Mazzucco
> Fix For: 1.4
>
> Attachments: DeferredPeriodicOutputStream.java, DeferredPeriodicOutputStream.java, DeferredPeriodicOutputStream.java, DeferredPeriodicOutputStreamTest.java, DeferredPeriodicOutputStreamTest.java, DeferredPeriodicOutputStreamTest.java
>
>
> I've extended the ThresholdingOutputStream class with a new class which
> behaves different from DeferredFileOutputStream:
> - when the stream is closed, the content stored in memory is *always* flushed to disk (in DeferredFileOutputStream, instead, if the treshold
> is not reached data is lost)
> - DeferredFileOutputStream maintains data in memory only until the treshold value has been reached, then it immediately writes every byte
> to disk. This new implementation, instead, caches treshold bytes in memory, and every time that value is reached (that is, treshold, 2 * threshold, etc), it flushes data to disk. In other words it acts as a cache.
> - It implements the java.io.DataOutput interface, that is, it provides utility methods to write all primitive types (e.g. short, byte, char, int, float, long, double and String in different formats)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.