Join our newsletter for the latest updates.
Java Program to Copy File

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

import java.io.FileInputStream;
import java.io.FileOutputStream;

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
      sourceFile.read(array);

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

      // closes the stream
      sourceFile.close();
      destFile.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Output

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.

Here,

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

Note:

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