org.springframework.util

Class StreamUtils


  • public abstract class StreamUtils
    extends Object
    Simple utility methods for dealing with streams. The copy methods of this class are similar to those defined in FileCopyUtils except that all affected streams are left open when done. All copy methods use a block size of 4096 bytes.

    Mainly for use within the framework, but also useful for application code.

    Since:
    3.2.2
    Author:
    Juergen Hoeller, Phillip Webb
    See Also:
    FileCopyUtils
    • Constructor Detail

      • StreamUtils

        public StreamUtils()
    • Method Detail

      • copyToByteArray

        public static byte[] copyToByteArray(InputStream in)
                                      throws IOException
        Copy the contents of the given InputStream into a new byte array. Leaves the stream open when done.
        Parameters:
        in - the stream to copy from
        Returns:
        the new byte array that has been copied to
        Throws:
        IOException - in case of I/O errors
      • copyToString

        public static String copyToString(InputStream in,
                          Charset charset)
                                   throws IOException
        Copy the contents of the given InputStream into a String. Leaves the stream open when done.
        Parameters:
        in - the InputStream to copy from
        Returns:
        the String that has been copied to
        Throws:
        IOException - in case of I/O errors
      • copy

        public static void copy(byte[] in,
                OutputStream out)
                         throws IOException
        Copy the contents of the given byte array to the given OutputStream. Leaves the stream open when done.
        Parameters:
        in - the byte array to copy from
        out - the OutputStream to copy to
        Throws:
        IOException - in case of I/O errors
      • copy

        public static void copy(String in,
                Charset charset,
                OutputStream out)
                         throws IOException
        Copy the contents of the given String to the given output OutputStream. Leaves the stream open when done.
        Parameters:
        in - the String to copy from
        charset - the Charset
        out - the OutputStream to copy to
        Throws:
        IOException - in case of I/O errors
      • copy

        public static int copy(InputStream in,
               OutputStream out)
                        throws IOException
        Copy the contents of the given InputStream to the given OutputStream. Leaves both streams open when done.
        Parameters:
        in - the InputStream to copy from
        out - the OutputStream to copy to
        Returns:
        the number of bytes copied
        Throws:
        IOException - in case of I/O errors
      • nonClosing

        public static InputStream nonClosing(InputStream in)
        Returns a variant of the given InputStream where calling close() has no effect.
        Parameters:
        in - the InputStream to decorate
        Returns:
        a version of the InputStream that ignores calls to close
      • nonClosing

        public static OutputStream nonClosing(OutputStream out)
        Returns a variant of the given OutputStream where calling close() has no effect.
        Parameters:
        out - the OutputStream to decorate
        Returns:
        a version of the OutputStream that ignores calls to close