org.springframework.util

## Class FileCopyUtils

- java.lang.Object
- - org.springframework.util.FileCopyUtils

-     public abstract class FileCopyUtils
      extends Object

  Simple utility methods for file and stream copying. All copy methods use a block size of 4096 bytes, and close all affected streams when done. A variation of the copy methods from this class that leave streams open can be found in `StreamUtils`.

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

  Since:
    06.10.2003
  Author:
    Juergen Hoeller, Hyunjin Choi
  See Also:
    `StreamUtils`, `FileSystemUtils`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `BUFFER_SIZE` The default buffer size used when copying bytes.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileCopyUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `copy(byte[] in, File out)` Copy the contents of the given byte array to the given output File.
    `static void` | `copy(byte[] in, OutputStream out)` Copy the contents of the given byte array to the given OutputStream.
    `static int` | `copy(File in, File out)` Copy the contents of the given input File to the given output File.
    `static int` | `copy(InputStream in, OutputStream out)` Copy the contents of the given InputStream to the given OutputStream.
    `static int` | `copy(Reader in, Writer out)` Copy the contents of the given Reader to the given Writer.
    `static void` | `copy(String in, Writer out)` Copy the contents of the given String to the given Writer.
    `static byte[]` | `copyToByteArray(File in)` Copy the contents of the given input File into a new byte array.
    `static byte[]` | `copyToByteArray(InputStream in)` Copy the contents of the given InputStream into a new byte array.
    `static String` | `copyToString(Reader in)` Copy the contents of the given Reader into a String.

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

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

- - ### Field Detail

    - #### BUFFER_SIZE

          public static final int BUFFER_SIZE

      The default buffer size used when copying bytes.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### FileCopyUtils

          public FileCopyUtils()

  - ### Method Detail

    - #### copy

          public static int copy(File in,
                                 File out)
                          throws IOException

      Copy the contents of the given input File to the given output File.
      Parameters:
        `in` - the file to copy from
        `out` - the file to copy to
      Returns:
        the number of bytes copied
      Throws:
        `IOException` - in case of I/O errors

    - #### copy

          public static void copy(byte[] in,
                                  File out)
                           throws IOException

      Copy the contents of the given byte array to the given output File.
      Parameters:
        `in` - the byte array to copy from
        `out` - the file to copy to
      Throws:
        `IOException` - in case of I/O errors

    - #### copyToByteArray

          public static byte[] copyToByteArray(File in)
                                        throws IOException

      Copy the contents of the given input File into a new byte array.
      Parameters:
        `in` - the file to copy from
      Returns:
        the new byte array that has been copied 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. Closes both streams when done.
      Parameters:
        `in` - the stream to copy from
        `out` - the stream to copy to
      Returns:
        the number of bytes copied
      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. Closes the stream when done.
      Parameters:
        `in` - the byte array to copy from
        `out` - the OutputStream to copy to
      Throws:
        `IOException` - in case of I/O errors

    - #### copyToByteArray

          public static byte[] copyToByteArray(@Nullable
                                               InputStream in)
                                        throws IOException

      Copy the contents of the given InputStream into a new byte array. Closes the stream when done.
      Parameters:
        `in` - the stream to copy from (may be `null` or empty)
      Returns:
        the new byte array that has been copied to (possibly empty)
      Throws:
        `IOException` - in case of I/O errors

    - #### copy

          public static int copy(Reader in,
                                 Writer out)
                          throws IOException

      Copy the contents of the given Reader to the given Writer. Closes both when done.
      Parameters:
        `in` - the Reader to copy from
        `out` - the Writer to copy to
      Returns:
        the number of characters copied
      Throws:
        `IOException` - in case of I/O errors

    - #### copy

          public static void copy(String in,
                                  Writer out)
                           throws IOException

      Copy the contents of the given String to the given Writer. Closes the writer when done.
      Parameters:
        `in` - the String to copy from
        `out` - the Writer to copy to
      Throws:
        `IOException` - in case of I/O errors

    - #### copyToString

          public static String copyToString(@Nullable
                                            Reader in)
                                     throws IOException

      Copy the contents of the given Reader into a String. Closes the reader when done.
      Parameters:
        `in` - the reader to copy from (may be `null` or empty)
      Returns:
        the String that has been copied to (possibly empty)
      Throws:
        `IOException` - in case of I/O errors