Class IOUtils


  • public final class IOUtils
    extends java.lang.Object
    This class contains various I/O-related methods.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private IOUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.io.IOException closeAndLogException​(java.io.Closeable closeable, org.apache.commons.logging.Log logger, java.lang.String resourceName, java.io.IOException initialException)
      Try to close an IO resource and log and return if there was an exception.
      static void closeQuietly​(java.io.Closeable closeable)
      Null safe close of the given Closeable suppressing any exception.
      static long copy​(java.io.InputStream input, java.io.OutputStream output)
      Copies all the contents from the given input stream to the given output stream.
      static long populateBuffer​(java.io.InputStream in, byte[] buffer)
      Populates the given buffer with data read from the input stream.
      static byte[] toByteArray​(java.io.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
    • Constructor Detail

      • IOUtils

        private IOUtils()
    • Method Detail

      • toByteArray

        public static byte[] toByteArray​(java.io.InputStream in)
                                  throws java.io.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:
        java.io.IOException - if an I/O error occurs
      • copy

        public static long copy​(java.io.InputStream input,
                                java.io.OutputStream output)
                         throws java.io.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:
        java.io.IOException - if an I/O error occurs
      • populateBuffer

        public static long populateBuffer​(java.io.InputStream in,
                                          byte[] buffer)
                                   throws java.io.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:
        java.io.IOException - if an I/O error occurs
      • closeQuietly

        public static void closeQuietly​(java.io.Closeable closeable)
        Null safe close of the given Closeable suppressing any exception.
        Parameters:
        closeable - to be closed
      • closeAndLogException

        public static java.io.IOException closeAndLogException​(java.io.Closeable closeable,
                                                               org.apache.commons.logging.Log logger,
                                                               java.lang.String resourceName,
                                                               java.io.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