Package org.springframework.util

# Class FileSystemUtils

java.lang.Object
org.springframework.util.FileSystemUtils

public abstract class FileSystemUtils extends Object
Utility methods for working with the file system.

Since:
  2.5.3
Author:
  Rob Harrop, Juergen Hoeller
See Also:
  - `File`
  - `Path`
  - `Files`

## Constructor Summary

Constructors
Constructor
Description
`FileSystemUtils()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`copyRecursively(File src, File dest)`
Recursively copy the contents of the `src` file/directory to the `dest` file/directory.
`static void`
`copyRecursively(Path src, Path dest)`
Recursively copy the contents of the `src` file/directory to the `dest` file/directory.
`static boolean`
`deleteRecursively(File root)`
Delete the supplied `File` - for directories, recursively delete any nested directories or files as well.
`static boolean`
`deleteRecursively(Path root)`
Delete the supplied `Path` — for directories, recursively delete any nested directories or files as well.

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

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

## Constructor Details

### FileSystemUtils

public FileSystemUtils()

## Method Details

### deleteRecursively

public static boolean deleteRecursively(@Nullable File root)
Delete the supplied `File` - for directories, recursively delete any nested directories or files as well.

Note: Like `File.delete()`, this method does not throw any exception but rather silently returns `false` in case of I/O errors. Consider using `deleteRecursively(Path)` for NIO-style handling of I/O errors, clearly differentiating between non-existence and failure to delete an existing file.

Parameters:
  `root` - the root `File` to delete
Returns:
  `true` if the `File` was successfully deleted, otherwise `false`

### deleteRecursively

public static boolean deleteRecursively(@Nullable Path root) throws IOException
Delete the supplied `Path` — for directories, recursively delete any nested directories or files as well.

Parameters:
  `root` - the root `Path` to delete
Returns:
  `true` if the `Path` existed and was deleted, or `false` if it did not exist
Throws:
  `IOException` - in the case of I/O errors
Since:
  5.0

### copyRecursively

public static void copyRecursively(File src, File dest) throws IOException
Recursively copy the contents of the `src` file/directory to the `dest` file/directory.

Parameters:
  `src` - the source directory
  `dest` - the destination directory
Throws:
  `IOException` - in the case of I/O errors

### copyRecursively

public static void copyRecursively(Path src, Path dest) throws IOException
Recursively copy the contents of the `src` file/directory to the `dest` file/directory.

Parameters:
  `src` - the source directory
  `dest` - the destination directory
Throws:
  `IOException` - in the case of I/O errors
Since:
  5.0