Different Ways to Copy Content From One File to Another File in Java
Last Updated :
23 Jul, 2025
In Java, we can copy the contents of one file to another file. This can be done by the FileInputStream and FileOutputStream classes.
FileInputStream Class
It is a byte input stream class which helps in reading the bytes from a file. It provides different methods to read the data from a file.
FileInputStream fin = new FileInputStream(filename);
This creates a FileInputStream object fin given a filename to it from where it will copy the content or do read operation.
Methods used:
1. read(): This method is used to read a byte of data. It returns that byte as an integer value or return -1 if the end of file is reached.
2. close(): This method is used to close the FileInputStream.
FileOutputStream Class
It is a byte output stream class which helps in writing the bytes to a file. It provides different functions to write the data to a file.
FileOutputStream fout = new FileOutputStream(filename);
This creates a FileOutputStream object fout given a filename to which it will write the read content.
Methods used:
1. write(): This method is used to write a byte of data to the FileOutputStream.
2. close(): This method is used to close the FileInputStream.
File Class
File f = new File(filename);
This creates an File object named f, given a string object which is the file name or location path of that file which is to be accessed.
Note: If the filename given here does not exist, then the File class will create a new file of that name.
Example:
Java
// Java program to copy content from
// one file to another
import java.io.*;
import java.util.*;
public class CopyFromFileaToFileb {
public static void copyContent(File a, File b)
throws Exception
{
FileInputStream in = new FileInputStream(a);
FileOutputStream out = new FileOutputStream(b);
try {
int n;
// read() function to read the
// byte of data
while ((n = in.read()) != -1) {
// write() function to write
// the byte of data
out.write(n);
}
}
finally {
if (in != null) {
// close() function to close the
// stream
in.close();
}
// close() function to close
// the stream
if (out != null) {
out.close();
}
}
System.out.println("File Copied");
}
public static void main(String[] args) throws Exception
{
Scanner sc = new Scanner(System.in);
// get the source file name
System.out.println(
"Enter the source filename from where you have to read/copy :");
String a = sc.nextLine();
// source file
File x = new File(a);
// get the destination file name
System.out.println(
"Enter the destination filename where you have to write/paste :");
String b = sc.nextLine();
// destination file
File y = new File(b);
// method called to copy the
// contents from x to y
copyContent(x, y);
}
}
Output
Enter the source filename from where you have to read/copy :
sourcefile.txt
Enter the destination filename where you have to write/paste :
destinationfile.txt
File Copied
Source File
Source File
Destination File
Destination File
Explore
Java Basics
OOP & Interfaces
Collections
Exception Handling
Java Advanced
Practice Java