io
Create a copy of a file
With this example we are going to demonstrate how to create a copy of a file. We will make use of the org.apache.commons.io.FileUtils class, that provides file manipulation utilities. In short, to create a copy of a file you should:
- Create a new File by converting the given pathname string of the initial file into an abstract pathname.
- Create a new File by converting the given pathname string of the copy file into an abstract pathname.
- Use
copyFile(File srcFile, File destFile)API method oforg.apache.commons.io.FileUtilsclass to copy the source file to the destination file. - Use
readFileToString(File file)API method oforg.apache.commons.io.FileUtilsto read the contents of the two files.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class FileCopy {
public static void main(String[] args) {
// We take a reference to original .txt
File file1 = new File("test.txt");
// We take a reference to the copy .txt
File file2 = new File("test(copy).txt");
try {
// We copy the file with copyFile method
FileUtils.copyFile(file1, file2);
// We compare the files to test the result
String content1 = FileUtils.readFileToString(file1);
String content2 = FileUtils.readFileToString(file2);
System.out.println("Content of file 1: " + content1);
System.out.println("Content of file 2: " + content2);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Output:
Content of file1: Javacodegeeks!!!
Content of file2: Javacodegeeks!!!
This was an example of how to create a copy of a file.

