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

Byron Kiourtzoglou

Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button