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.FileUtils
class to copy the source file to the destination file. - Use
readFileToString(File file)
API method oforg.apache.commons.io.FileUtils
to 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.