org.apache.pdfbox.io

## Class IOUtils

- java.lang.Object
- - org.apache.pdfbox.io.IOUtils

    public final class IOUtils
    extends Object

This class contains various I/O-related methods.

### Method Summary

All Methods Static Methods Concrete Methods
`static IOException` `closeAndLogException(Closeable closeable, org.apache.commons.logging.Log logger, String resourceName, IOException initialException)` Try to close an IO resource and log and return if there was an exception.
`static void` `closeQuietly(Closeable closeable)` Null safe close of the given `Closeable` suppressing any exception.
`static long` `copy(InputStream input, OutputStream output)` Copies all the contents from the given input stream to the given output stream.
`static long` `populateBuffer(InputStream in, byte[] buffer)` Populates the given buffer with data read from the input stream.
`static byte[]` `toByteArray(InputStream in)` Reads the input stream and returns its contents as a byte array.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### toByteArray

    public static byte[] toByteArray(InputStream in)
                              throws IOException

Reads the input stream and returns its contents as a byte array.

Parameters:
  `in` - the input stream to read from.
Returns:
  the byte array
Throws:
  `IOException` - if an I/O error occurs

#### copy

    public static long copy(InputStream input,
                            OutputStream output)
                     throws IOException

Copies all the contents from the given input stream to the given output stream.

Parameters:
  `input` - the input stream
  `output` - the output stream
Returns:
  the number of bytes that have been copied
Throws:
  `IOException` - if an I/O error occurs

#### populateBuffer

    public static long populateBuffer(InputStream in,
                                      byte[] buffer)
                               throws IOException

Populates the given buffer with data read from the input stream. If the data doesn't fit the buffer, only the data that fits in the buffer is read. If the data is less than fits in the buffer, the buffer is not completely filled.

Parameters:
  `in` - the input stream to read from
  `buffer` - the buffer to fill
Returns:
  the number of bytes written to the buffer
Throws:
  `IOException` - if an I/O error occurs

#### closeQuietly

    public static void closeQuietly(Closeable closeable)

Null safe close of the given `Closeable` suppressing any exception.

Parameters:
  `closeable` - to be closed

#### closeAndLogException

    public static IOException closeAndLogException(Closeable closeable,
                                                   org.apache.commons.logging.Log logger,
                                                   String resourceName,
                                                   IOException initialException)

Try to close an IO resource and log and return if there was an exception.

An exception is only returned if the IOException passed in is null.

Parameters:
  `closeable` - to be closed
  `logger` - the logger to be used so that logging appears under that log instance
  `resourceName` - the name to appear in the log output
  `initialException` - if set, this exception will be returned even where there is another exception while closing the IO resource * @return the IOException is there was any but only if initialException is null