Package 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 8192 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
Description
`static final int`
`BUFFER_SIZE`
The default buffer size used when copying bytes.

## Constructor Summary

Constructors
Constructor
Description
`FileCopyUtils()`

## Method Summary

Modifier and Type
Method
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 Details

### BUFFER_SIZE

public static final int BUFFER_SIZE
The default buffer size used when copying bytes.

See Also:
  - Constant Field Values

## Constructor Details

### FileCopyUtils

public FileCopyUtils()

## Method Details

### 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