Class IOUtil


  • public final class IOUtil
    extends java.lang.Object
    Generic input/output utilities
    Version:
    $Revision: $
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private IOUtil()
      Internal constructor; should not be called
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] asByteArray​(java.io.InputStream in)
      Obtains the contents of the specified stream as a byte array
      static java.lang.String asUTF8String​(java.io.InputStream in)
      Obtains the contents of the specified stream as a String in UTF-8 charset.
      static void bufferedWriteWithFlush​(java.io.OutputStream output, byte[] content)
      Writing the specified contents to the specified OutputStream using an internal buffer.
      static <S extends java.io.Closeable>
      void
      closeOnComplete​(S stream, StreamTask<S> task)
      Helper method to run a specified task and automatically handle the closing of the stream.
      static <S extends java.io.Closeable>
      void
      closeOnComplete​(S stream, StreamTask<S> task, StreamErrorHandler errorHandler)
      Helper method to run a specified task and automatically handle the closing of the stream.
      static void copy​(java.io.InputStream input, java.io.OutputStream output)
      Copies the contents from an InputStream to an OutputStream.
      static int copy​(java.io.InputStream input, java.io.OutputStream output, int len)
      Copies the specified number of bytes from an InputStream to an OutputStream.
      static void copyWithClose​(java.io.InputStream input, java.io.OutputStream output)
      Copies the contents from an InputStream to an OutputStream and closes both streams.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • log

        private static final java.util.logging.Logger log
        Logger
      • DEFAULT_ERROR_HANDLER

        private static final StreamErrorHandler DEFAULT_ERROR_HANDLER
        Default Error Handler
      • CHARSET_UTF8

        private static final java.lang.String CHARSET_UTF8
        Name of UTF-8 Charset
        See Also:
        Constant Field Values
    • Constructor Detail

      • IOUtil

        private IOUtil()
        Internal constructor; should not be called
    • Method Detail

      • asByteArray

        public static byte[] asByteArray​(java.io.InputStream in)
                                  throws java.lang.IllegalArgumentException
        Obtains the contents of the specified stream as a byte array
        Parameters:
        in -
        Returns:
        the byte[] for the given InputStream
        Throws:
        java.lang.IllegalArgumentException - If the stream was not specified
      • asUTF8String

        public static java.lang.String asUTF8String​(java.io.InputStream in)
        Obtains the contents of the specified stream as a String in UTF-8 charset.
        Parameters:
        in -
        Throws:
        java.lang.IllegalArgumentException - If the stream was not specified
      • copy

        public static void copy​(java.io.InputStream input,
                                java.io.OutputStream output)
                         throws java.io.IOException
        Copies the contents from an InputStream to an OutputStream. It is the responsibility of the caller to close the streams passed in when done, though the OutputStream will be fully flushed.
        Parameters:
        input -
        output -
        Throws:
        java.io.IOException - If a problem occurred during any I/O operations
      • copy

        public static int copy​(java.io.InputStream input,
                               java.io.OutputStream output,
                               int len)
                        throws java.io.IOException
        Copies the specified number of bytes from an InputStream to an OutputStream. It is the responsibility of the caller to close the streams passed in when done, though the OutputStream will be fully flushed.
        Parameters:
        input -
        output -
        len - the number of bytes to copy
        Returns:
        number of bytes copied
        Throws:
        java.io.IOException - If a problem occurred during any I/O operations
      • bufferedWriteWithFlush

        public static void bufferedWriteWithFlush​(java.io.OutputStream output,
                                                  byte[] content)
                                           throws java.io.IOException
        Writing the specified contents to the specified OutputStream using an internal buffer. Flushing the stream when completed. Caller is responsible for opening and closing the specified stream.
        Parameters:
        output - The OutputStream
        content - The content to write to the specified stream
        Throws:
        java.io.IOException - If a problem occured during any I/O operations
      • copyWithClose

        public static void copyWithClose​(java.io.InputStream input,
                                         java.io.OutputStream output)
                                  throws java.io.IOException
        Copies the contents from an InputStream to an OutputStream and closes both streams.
        Parameters:
        input -
        output -
        Throws:
        java.io.IOException - If a problem occurred during any I/O operations during the copy, but on closing the streams these will be ignored and logged at Level.FINER
      • closeOnComplete

        public static <S extends java.io.Closeable> void closeOnComplete​(S stream,
                                                                         StreamTask<S> task)
        Helper method to run a specified task and automatically handle the closing of the stream.
        Parameters:
        stream -
        task -
      • closeOnComplete

        public static <S extends java.io.Closeable> void closeOnComplete​(S stream,
                                                                         StreamTask<S> task,
                                                                         StreamErrorHandler errorHandler)
        Helper method to run a specified task and automatically handle the closing of the stream.
        Type Parameters:
        S -
        Parameters:
        task -
        errorHandler -