Class IOUtil

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

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

    • asByteArray

      public static byte[] asByteArray(InputStream in) throws IllegalArgumentException
      Obtains the contents of the specified stream as a byte array
      Parameters:
      in - The input stream to be read
      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 - The input stream to be read
      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 - The input stream from which to read the data
      output - The output stream to which the data will be written
      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 - The input stream from which to read the data
      output - The output stream to which the data will be written
      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 occurred 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 - The input stream from which to read the data
      output - The output stream to which the data will be written
      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 - The stream to be closed after the task is executed
      task - The task to be executed
    • 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 - The type of the stream
      Parameters:
      stream - The stream to be closed after the task is executed
      task - The task to be executed
      errorHandler - The error handler to handle any errors that occur during the execution of the task