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 arrayFileOutputStream
writes all the content from the array to newFile
Note:
- The
FileUtils
class oforg.apache.commons.io
package provides thecopyFile()
method to copy the file. - The
Files
class ofjava.nio
package provides thecopy()
method to copy the file.