Class Streams


  • public class Streams
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      static int DEFAULT_BUFFER_SIZE
      The default buffer size that will be used for buffered operations.
    • Constructor Summary

      Constructors 
      Constructor Description
      Streams()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean close​(java.io.InputStream stream)
      Attempt to close an InputStream.
      static boolean close​(java.io.InputStream[] streams)
      Attempt to close an array of InputStreams.
      static boolean close​(java.io.OutputStream stream)
      Attempt to close an OutputStream.
      static boolean close​(java.io.OutputStream[] streams)
      Attempt to close an array of OutputStreams.
      static boolean close​(java.lang.Object stream)
      Attempt to close an InputStream or OutputStream.
      static boolean close​(java.lang.Object[] streams)
      Attempt to close an array of InputStreama and/or OutputStreams.
      static long copy​(java.io.InputStream input, java.io.OutputStream output)
      Copy all of the bytes from the input stream to the output stream.
      static long copy​(java.io.InputStream input, java.io.OutputStream output, byte[] buffer)
      Copy all of the bytes from the input stream to the output stream.
      static long copy​(java.io.InputStream input, java.io.OutputStream output, int size)
      Copy all of the bytes from the input stream to the output stream.
      static long copyb​(java.io.InputStream input, java.io.OutputStream output)
      Copy all of the bytes from the input stream to the output stream wrapping streams in buffers as needed.
      static long copySome​(java.io.InputStream input, java.io.OutputStream output, byte[] buffer, long length)
      Copy a limited number of bytes from the input stream to the output stream.
      static long copySome​(java.io.InputStream input, java.io.OutputStream output, int size, long length)
      Copy a limited number of bytes from the input stream to the output stream.
      static long copySome​(java.io.InputStream input, java.io.OutputStream output, long length)
      Copy a limited number of bytes from the input stream to the output stream.
      static boolean fclose​(java.io.OutputStream stream)
      Attempt to flush and close an OutputStream.
      static boolean fclose​(java.io.OutputStream[] streams)
      Attempt to flush and close an array of OutputStreams.
      static boolean flush​(java.io.OutputStream stream)
      Attempt to flush an OutputStream.
      static boolean flush​(java.io.OutputStream[] streams)
      Attempt to flush an array of OutputStreams.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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​(java.io.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​(java.io.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​(java.lang.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:
        java.lang.IllegalArgumentException - Stream is not an InputStream or OuputStream.
      • close

        public static boolean close​(java.io.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​(java.io.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​(java.lang.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:
        java.lang.IllegalArgumentException - Stream is not an InputStream or OuputStream. Closing stops at the last valid stream object in this case.
      • fclose

        public static boolean fclose​(java.io.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​(java.io.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​(java.io.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​(java.io.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​(java.io.InputStream input,
                                java.io.OutputStream output,
                                byte[] buffer)
                         throws java.io.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:
        java.io.IOException - Failed to copy bytes.
      • copy

        public static long copy​(java.io.InputStream input,
                                java.io.OutputStream output,
                                int size)
                         throws java.io.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:
        java.io.IOException - Failed to copy bytes.
      • copy

        public static long copy​(java.io.InputStream input,
                                java.io.OutputStream output)
                         throws java.io.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:
        java.io.IOException - Failed to copy bytes.
      • copyb

        public static long copyb​(java.io.InputStream input,
                                 java.io.OutputStream output)
                          throws java.io.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:
        java.io.IOException - Failed to copy bytes.
      • copySome

        public static long copySome​(java.io.InputStream input,
                                    java.io.OutputStream output,
                                    byte[] buffer,
                                    long length)
                             throws java.io.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:
        java.io.IOException - Failed to copy bytes.
      • copySome

        public static long copySome​(java.io.InputStream input,
                                    java.io.OutputStream output,
                                    int size,
                                    long length)
                             throws java.io.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:
        java.io.IOException - Failed to copy bytes.
      • copySome

        public static long copySome​(java.io.InputStream input,
                                    java.io.OutputStream output,
                                    long length)
                             throws java.io.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:
        java.io.IOException - Failed to copy bytes.