Class Streams


  • public abstract class Streams
    extends Object
    Simple utility methods for file and stream copying. All copy methods use a block size of 4096 bytes, and close all affected streams when done.

    Mainly for use within the framework, but also useful for application code.

    • Constructor Detail

      • Streams

        public Streams()
    • Method Detail

      • copy

        public static long copy​(InputStream in,
                                OutputStream out,
                                byte[] buffer)
                         throws IOException
        Copy the contents of the given InputStream to the given OutputStream. Closes both streams when done.
        Parameters:
        in - the stream to copy from
        out - the stream to copy to
        Returns:
        the number of bytes copied
        Throws:
        IOException - in case of I/O errors
      • copy

        public static void copy​(byte[] in,
                                OutputStream out)
                         throws IOException
        Copy the contents of the given byte array to the given OutputStream. Closes the stream when done.
        Parameters:
        in - the byte array to copy from
        out - the OutputStream to copy to
        Throws:
        IOException - in case of I/O errors
      • copy

        public static int copy​(Reader in,
                               Writer out)
                        throws IOException
        Copy the contents of the given Reader to the given Writer. Closes both when done.
        Parameters:
        in - the Reader to copy from
        out - the Writer to copy to
        Returns:
        the number of characters copied
        Throws:
        IOException - in case of I/O errors
      • copy

        public static void copy​(String in,
                                Writer out)
                         throws IOException
        Copy the contents of the given String to the given output Writer. Closes the write when done.
        Parameters:
        in - the String to copy from
        out - the Writer to copy to
        Throws:
        IOException - in case of I/O errors
      • copyToString

        public static String copyToString​(Reader in)
                                   throws IOException
        Copy the contents of the given Reader into a String. Closes the reader when done.
        Parameters:
        in - the reader to copy from
        Returns:
        the String that has been copied to
        Throws:
        IOException - in case of I/O errors
      • noCloseStream

        public static InputStream noCloseStream​(InputStream stream)
        Wraps an InputStream such that it's close method becomes a noop
        Parameters:
        stream - InputStream to wrap
        Returns:
        wrapped InputStream