Class Streams


  • public class Streams
    extends Object
    A collection of stream related utility methods.

    Exceptions that are thrown and not explicitly declared are ignored.

    Since:
    4.2
    Author:
    Jason Dillon
    • Field Detail

      • DEFAULT_BUFFER_SIZE

        public static final int DEFAULT_BUFFER_SIZE
        The default buffer size that will be used for buffered operations.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Streams

        public Streams()
    • Method Detail

      • close

        public static boolean close​(InputStream stream)
        Attempt to close an InputStream.
        Parameters:
        stream - InputStream to attempt to close.
        Returns:
        True if stream was closed (or stream was null), or false if an exception was thrown.
      • close

        public static boolean close​(OutputStream stream)
        Attempt to close an OutputStream.
        Parameters:
        stream - OutputStream to attempt to close.
        Returns:
        True if stream was closed (or stream was null), or false if an exception was thrown.
      • close

        public static boolean close​(Object stream)
        Attempt to close an InputStream or OutputStream.
        Parameters:
        stream - Stream to attempt to close.
        Returns:
        True if stream was closed (or stream was null), or false if an exception was thrown.
        Throws:
        IllegalArgumentException - Stream is not an InputStream or OuputStream.
      • close

        public static boolean close​(InputStream[] streams)
        Attempt to close an array of InputStreams.
        Parameters:
        streams - Array of InputStreams to attempt to close.
        Returns:
        True if all streams were closed, or false if an exception was thrown.
      • close

        public static boolean close​(OutputStream[] streams)
        Attempt to close an array of OutputStreams.
        Parameters:
        streams - Array of OutputStreams to attempt to close.
        Returns:
        True if all streams were closed, or false if an exception was thrown.
      • close

        public static boolean close​(Object[] streams)
        Attempt to close an array of InputStreama and/or OutputStreams.
        Parameters:
        streams - Array of streams to attempt to close.
        Returns:
        True if all streams were closed, or false if an exception was thrown.
        Throws:
        IllegalArgumentException - Stream is not an InputStream or OuputStream. Closing stops at the last valid stream object in this case.
      • fclose

        public static boolean fclose​(OutputStream stream)
        Attempt to flush and close an OutputStream.
        Parameters:
        stream - OutputStream to attempt to flush and close.
        Returns:
        True if stream was flushed and closed, or false if an exception was thrown.
      • fclose

        public static boolean fclose​(OutputStream[] streams)
        Attempt to flush and close an array of OutputStreams.
        Parameters:
        streams - OutputStreams to attempt to flush and close.
        Returns:
        True if all streams were flushed and closed, or false if an exception was thrown.
      • flush

        public static boolean flush​(OutputStream stream)
        Attempt to flush an OutputStream.
        Parameters:
        stream - OutputStream to attempt to flush.
        Returns:
        True if stream was flushed (or stream was null), or false if an exception was thrown.
      • flush

        public static boolean flush​(OutputStream[] streams)
        Attempt to flush an array of OutputStreams.
        Parameters:
        streams - OutputStreams to attempt to flush.
        Returns:
        True if all streams were flushed, or false if an exception was thrown.
      • copy

        public static long copy​(InputStream input,
                                OutputStream output,
                                byte[] buffer)
                         throws IOException
        Copy all of the bytes from the input stream to the output stream.
        Parameters:
        input - Stream to read bytes from.
        output - Stream to write bytes to.
        buffer - The buffer to use while copying.
        Returns:
        The total number of bytes copied.
        Throws:
        IOException - Failed to copy bytes.
      • copy

        public static long copy​(InputStream input,
                                OutputStream output,
                                int size)
                         throws IOException
        Copy all of the bytes from the input stream to the output stream.
        Parameters:
        input - Stream to read bytes from.
        output - Stream to write bytes to.
        size - The size of the buffer to use while copying.
        Returns:
        The total number of bytes copied.
        Throws:
        IOException - Failed to copy bytes.
      • copy

        public static long copy​(InputStream input,
                                OutputStream output)
                         throws IOException
        Copy all of the bytes from the input stream to the output stream.
        Parameters:
        input - Stream to read bytes from.
        output - Stream to write bytes to.
        Returns:
        The total number of bytes copied.
        Throws:
        IOException - Failed to copy bytes.
      • copyb

        public static long copyb​(InputStream input,
                                 OutputStream output)
                          throws IOException
        Copy all of the bytes from the input stream to the output stream wrapping streams in buffers as needed.
        Parameters:
        input - Stream to read bytes from.
        output - Stream to write bytes to.
        Returns:
        The total number of bytes copied.
        Throws:
        IOException - Failed to copy bytes.
      • copySome

        public static long copySome​(InputStream input,
                                    OutputStream output,
                                    byte[] buffer,
                                    long length)
                             throws IOException
        Copy a limited number of bytes from the input stream to the output stream.
        Parameters:
        input - Stream to read bytes from.
        output - Stream to write bytes to.
        buffer - The buffer to use while copying.
        length - The maximum number of bytes to copy.
        Returns:
        The total number of bytes copied.
        Throws:
        IOException - Failed to copy bytes.
      • copySome

        public static long copySome​(InputStream input,
                                    OutputStream output,
                                    int size,
                                    long length)
                             throws IOException
        Copy a limited number of bytes from the input stream to the output stream.
        Parameters:
        input - Stream to read bytes from.
        output - Stream to write bytes to.
        size - The size of the buffer to use while copying.
        length - The maximum number of bytes to copy.
        Returns:
        The total number of bytes copied.
        Throws:
        IOException - Failed to copy bytes.
      • copySome

        public static long copySome​(InputStream input,
                                    OutputStream output,
                                    long length)
                             throws IOException
        Copy a limited number of bytes from the input stream to the output stream.
        Parameters:
        input - Stream to read bytes from.
        output - Stream to write bytes to.
        length - The maximum number of bytes to copy.
        Returns:
        The total number of bytes copied.
        Throws:
        IOException - Failed to copy bytes.