Java Program to Copy File

In this tutorial, we will learn to copy files in Java.

To understand this example, you should have the knowledge of the following Java programming topics:

The Java File class doesn't provide any method to copy one file to another. However, we can use Java I/O Streams to read content from one file and write to another.

Example: Copy files using i/o streams


class Main {
  public static void main(String[] args) {

    byte[] array = new byte[50];
    try {
      FileInputStream sourceFile = new FileInputStream("input.txt");
      FileOutputStream destFile = new FileOutputStream("newFile");

      // reads all data from input.txt;

      // writes all data to newFile
      System.out.println("The input.txt file is copied to newFile.");

      // closes the stream
    catch (Exception e) {


The input.txt file is copied to newFile.

In the above example, we have used the FileInputStream and FileOutputStream to copy one file to another.


  • FileInputStream reads all the content from input.txt to an array
  • FileOutputStream writes all the content from the array to newFile


  • The FileUtils class of package provides the copyFile() method to copy the file.
  • The Files class of java.nio package provides the copy() method to copy the file.


Did you find this article helpful?