You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2008/02/12 23:51:08 UTC

[jira] Updated: (IO-71) [io] PipedUtils

     [ https://issues.apache.org/jira/browse/IO-71?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated IO-71:
----------------------------

    Attachment: ReverseFilterOutputStream.patch

See the attached patch (ReverseFilterInputStream.patch) for a simple draft (not thoroughly tested or documented) of a class that turns an OutputStream filter into an InputStream filter without the need for an extra thread or a pipe.

With the ReverseFilterInputStream class your example test case would become:

{code}
//starting data
InputStream original = new ByteArrayInputStream("hello world".getBytes("us-ascii"));

// Compress
InputStream reversed = new ReverseFilterInputStream(original, GZIPOutputStream.class);

// Uncompress
InputStream results = new GZIPInputStream(reversed);

//show results
StringWriter swresult = new StringWriter();
CopyUtils.copy(results,swresult);

assertEquals("hello world", swresult.toString());
{code}


> [io] PipedUtils
> ---------------
>
>                 Key: IO-71
>                 URL: https://issues.apache.org/jira/browse/IO-71
>             Project: Commons IO
>          Issue Type: Improvement
>          Components: Utilities
>         Environment: Operating System: All
> Platform: All
>            Reporter: David Smiley
>            Priority: Minor
>             Fix For: 2.x
>
>         Attachments: PipedUtils.zip, ReverseFilterOutputStream.patch
>
>
> I developed some nifty code that takes an OutputStream and sort  of  reverses it as if it were an 
> InputStream.  Error passing and  handling  close is dealt with.  It needs another thread to do the  work 
> which  runs in parallel.  It uses Piped streams.  I created  this because I  had to conform 
> GZIPOutputStream to my framework  which demanded an  InputStream.
> See URL to source.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.