That's a great way :)

+1


On 12/6/01 7:08 PM, "Michael Bayne" <[EMAIL PROTECTED]> wrote:

> I've been using commons/util for some projects and inevitably end up
> extending the useful utility classes provided therein. I've been putting
> these in my own utility library, but I'd like to contribute back to
> commons/util where appropriate.
> 
> What would be the procedure for doing this?
> 
> Here's a patch for starters:
> 
> Index: src/java/org/apache/commons/util/StreamUtils.java
> ===================================================================
> RCS file: 
> /home/cvspublic/jakarta-commons-sandbox/util/src/java/org/apache/commons/util/
> StreamUtils.java,v
> retrieving revision 1.2
> diff -u -p -r1.2 StreamUtils.java
> --- src/java/org/apache/commons/util/StreamUtils.java    2001/08/15 22:57:03
1.2
> +++ src/java/org/apache/commons/util/StreamUtils.java    2001/12/06 23:48:58
> @@ -104,6 +104,40 @@ public class StreamUtils
>                                        String encoding)
>        throws IOException
>    {
> +        ByteArrayOutputStream contents = readStream(toRead, bufferSize);
> +        return (encoding == null ? contents.toString() :
> +                contents.toString(encoding));
> +    }
> +
> +    /**
> +     * Reads from a stream until EOF, and returns the bytes read.
> +     *
> +     * @param toRead     Stream to use as source.
> +     * @param bufferSize Size of buffer to use when reading from source.
> +     * @return The contents of <code>toRead</code>.
> +     */
> +    public static byte[] streamAsBytes(InputStream toRead, int bufferSize,
> +                                       String encoding)
> +        throws IOException
> +    {
> +        ByteArrayOutputStream contents = readStream(toRead, bufferSize);
> +        return contents.toByteArray();
> +    }
> +
> +    /**
> +     * Reads from a stream util EOF, placing the resulting data into a
> +     * <code>ByteArrayOutputStream</code> which is subsequently returned.
> +     *
> +     * @param toRead     Stream to use as source.
> +     * @param bufferSize Size of buffer to use when reading from source.
> +     *
> +     * @return a <code>ByteArrayOutputStream</code> containing the
> +     * contents of <code>toRead</code>.
> +     */
> +    protected static ByteArrayOutputStream readStream(InputStream toRead,
> +                                                      int bufferSize)
> +        throws IOException
> +    {
>        ByteArrayOutputStream contents = new ByteArrayOutputStream();
>        byte[] buffer = new byte[bufferSize];
>        int bytesRead;
> @@ -113,8 +147,7 @@ public class StreamUtils
>            contents.write(buffer, 0, bytesRead);
>        }
> 
> -        return (encoding == null ? contents.toString() :
> -                contents.toString(encoding));
> +        return contents;
>    }
> 
>    /**
> 
> Thanks,
> 
> -- mdb /o)\ Well, I'll be a greased Jesus!
>      \(o/
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 

-- 
Geir Magnusson Jr.     [EMAIL PROTECTED]
System and Software Consulting
"Whoever would overthrow the liberty of a nation must begin by subduing the
freeness of speech." - Benjamin Franklin



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to