Class IOUtil
java.lang.Object
org.jboss.shrinkwrap.impl.base.io.IOUtil
Generic input/output utilities
- Version:
- $Revision: $
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
Name of UTF-8 Charsetprivate static final StreamErrorHandler
Default Error Handlerprivate static final Logger
Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]
Obtains the contents of the specified stream as a byte arraystatic String
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.
-
Field Details
-
log
Logger -
DEFAULT_ERROR_HANDLER
Default Error Handler -
CHARSET_UTF8
Name of UTF-8 Charset- See Also:
-
-
Constructor Details
-
IOUtil
private IOUtil()Internal constructor; should not be called
-
-
Method Details
-
asByteArray
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
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
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
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
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
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
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
-
-