commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton (JIRA)" <j...@apache.org>
Subject [jira] Commented: (IO-92) Add DeferredPeriodicOutputStream
Date Mon, 15 Oct 2007 15:15:51 GMT

    [ 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.


Mime
View raw message