Class IOUtil


  • public final class IOUtil
    extends Object
    Generic input/output utilities
    Version:
    $Revision: $
    Author:
    ALR
    • Method Detail

      • asUTF8String

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

        public static void copy​(InputStream input,
                                OutputStream output)
                         throws 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:
        IOException - If a problem occurred during any I/O operations
      • copy

        public static int copy​(InputStream input,
                               OutputStream output,
                               int len)
                        throws 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:
        IOException - If a problem occurred during any I/O operations
      • bufferedWriteWithFlush

        public static void bufferedWriteWithFlush​(OutputStream output,
                                                  byte[] content)
                                           throws 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:
        IOException - If a problem occured during any I/O operations
      • copyWithClose

        public static void copyWithClose​(InputStream input,
                                         OutputStream output)
                                  throws IOException
        Copies the contents from an InputStream to an OutputStream and closes both streams.
        Parameters:
        input -
        output -
        Throws:
        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 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 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 -