Class IOUtil

java.lang.Object
org.jboss.shrinkwrap.impl.base.io.IOUtil

public final class IOUtil extends Object
Generic input/output utilities
Version:
$Revision: $
  • Field Details

    • log

      private static final Logger log
      Logger
    • DEFAULT_ERROR_HANDLER

      private static final StreamErrorHandler DEFAULT_ERROR_HANDLER
      Default Error Handler
    • CHARSET_UTF8

      private static final String CHARSET_UTF8
      Name of UTF-8 Charset
      See Also:
  • Constructor Details

    • IOUtil

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

    • asByteArray

      public static byte[] asByteArray(InputStream in) throws IllegalArgumentException
      Obtains the contents of the specified stream as a byte array
      Parameters:
      in -
      Returns:
      the byte[] for the given InputStream
      Throws:
      IllegalArgumentException - If the stream was not specified
    • 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 -