-
-
Notifications
You must be signed in to change notification settings - Fork 1
Java File Copy Utilities
This documentation provides an overview of the Java classes for copying files and directories. These classes facilitate copying individual files, directories, and handling encoding conversions while copying.
The file copy utility provides functionality for copying files and directories efficiently. The key functionalities include:
- Copying individual files.
- Copying entire directories with optional filtering.
- Creating backup copies of files.
- Handling encoding conversions during file copying.
The Copyable interface provides default methods for copying files and directories. It defines the core methods that interact with CopyDirectoryExtensions and CopyFileExtensions for performing copy operations.
| Method | Description |
|---|---|
boolean copyDirectory(Path source, Path destination) |
Copies a directory from the source path to the destination path. |
boolean copyDirectory(File source, File destination) |
Copies a directory using File objects instead of Path. |
boolean copyFile(File source, File destination) |
Copies a single file to the specified destination. |
void copyFiles(Collection<File> sources, File destination, Charset sourceEncoding, Charset destinationEncoding, boolean lastModified) |
Copies multiple files with optional encoding conversion. |
File newBackupOf(File file, Charset sourceEncoding, Charset destinationEncoding) |
Creates a backup copy of the given file with a .bak extension. |
boolean copyFile(Path source, Path destination) |
Copies a single file using Path objects. |
void copyFiles(Collection<Path> sources, Path destination) |
Copies multiple files from a collection to a directory. |
Path newBackupOf(Path path) |
Creates a backup copy of the specified file. |
The CopyDirectoryExtensions class provides static methods for copying directories. It includes additional options such as applying file filters and setting the last modified timestamp.
| Method | Description |
|---|---|
boolean copyDirectory(Path source, Path destination) |
Recursively copies a directory from source to destination. |
boolean copyDirectory(File source, File destination) |
Copies a directory using File objects. |
boolean copyDirectory(File source, File destination, boolean lastModified) |
Copies a directory and sets the last modified timestamp. |
boolean copyDirectoryWithFileFilter(File source, File destination, FileFilter includeFileFilter, FileFilter excludeFileFilter, boolean lastModified) |
Copies directories while filtering files based on include/exclude filters. |
boolean copyDirectoryWithFilenameFilter(File source, File destination, FilenameFilter includeFilenameFilter, FilenameFilter excludeFilenameFilter, boolean lastModified) |
Copies directories while filtering based on filename patterns. |
The CopyFileExtensions class provides static methods for copying individual files, handling encoding conversions, and creating backup files.
| Method | Description |
|---|---|
boolean copyFile(Path source, Path destination) |
Copies a single file. |
void copyFiles(Collection<Path> sources, Path destination) |
Copies multiple files to a destination directory. |
Path newBackupOf(Path file) |
Creates a backup copy of the specified file. |
boolean copyFile(File source, File destination) |
Copies a file using File objects. |
boolean copyFile(File source, File destination, boolean lastModified) |
Copies a file while preserving the last modified timestamp. |
boolean copyFile(File source, File destination, Charset sourceEncoding, Charset destinationEncoding, boolean lastModified) |
Copies a file with encoding conversion. |
void copyFiles(Collection<File> sources, File destination, Charset sourceEncoding, Charset destinationEncoding, boolean lastModified) |
Copies multiple files with encoding conversion. |
File sourceFile = new File("source.txt");
File destinationFile = new File("destination.txt");
boolean copied = CopyFileExtensions.copyFile(sourceFile, destinationFile);
System.out.println("File copied: " + copied);File sourceDir = new File("source_directory");
File destinationDir = new File("destination_directory");
boolean copied = CopyDirectoryExtensions.copyDirectory(sourceDir, destinationDir);
System.out.println("Directory copied: " + copied);File originalFile = new File("document.txt");
File backupFile = CopyFileExtensions.newBackupOf(originalFile, Charset.defaultCharset(), null);
System.out.println("Backup created: " + backupFile.getAbsolutePath());Collection<File> filesToCopy = List.of(new File("file1.txt"), new File("file2.txt"));
File destinationFolder = new File("backup/");
Charset sourceEncoding = Charset.forName("UTF-8");
Charset destinationEncoding = Charset.forName("ISO-8859-1");
CopyFileExtensions.copyFiles(filesToCopy, destinationFolder, sourceEncoding, destinationEncoding, true);The file copy operations throw specific exceptions in case of errors:
| Exception | Cause |
|---|---|
IOException |
General I/O errors during file operations. |
FileIsADirectoryException |
When a file operation is attempted on a directory. |
FileIsNotADirectoryException |
When a directory operation is attempted on a non-directory. |
FileIsSecurityRestrictedException |
When access to a file is restricted. |
DirectoryAlreadyExistsException |
When attempting to copy to an already existing directory. |
This Java file copy utility provides robust methods to copy files and directories efficiently. With support for encoding conversion and backup creation, it offers a versatile solution for file management.
- Create New Files And Directories
- Delete Files Or Directories
- File Comparison Documentation
- File Modification And Merging
- File Reading Documentation
- File Renaming Documentation
- File Search Documentation
- File Sorting Documentation
- File Writing Documentation
- Java File Copy Utilities
- System Utilities Documentation