Class IOUtil
- java.lang.Object
-
- org.jboss.shrinkwrap.impl.base.io.IOUtil
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
asByteArray(InputStream in)
Obtains the contents of the specified stream as a byte arraystatic String
asUTF8String(InputStream in)
Obtains the contents of the specified stream as a String in UTF-8 charset.static void
bufferedWriteWithFlush(OutputStream output, byte[] content)
Writing the specified contents to the specified OutputStream using an internal buffer.static <S extends Closeable>
voidcloseOnComplete(S stream, StreamTask<S> task)
Helper method to run a specified task and automatically handle the closing of the stream.static <S extends Closeable>
voidcloseOnComplete(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(InputStream input, OutputStream output)
Copies the contents from an InputStream to an OutputStream.static int
copy(InputStream input, OutputStream output, int len)
Copies the specified number of bytes from an InputStream to an OutputStream.static void
copyWithClose(InputStream input, OutputStream output)
Copies the contents from an InputStream to an OutputStream and closes both streams.
-
-
-
Method Detail
-
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 theOutputStream
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 theOutputStream
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 OutputStreamcontent
- 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 atLevel.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
-
-
-