import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyerFile {

public static void main(String[] args) {

File pathTo = new File("to.txt");
File pathFrom = new File("from.txt");

try {
FileInputStream inputFile = new FileInputStream(pathFrom);
int bytes = inputFile.available();
System.out.println("Numero di byte: " + bytes);

pathTo.createNewFile();
FileOutputStream outputFile = new FileOutputStream(pathTo);

int readBytes = 0;
while (readBytes <= bytes){
outputFile.write(inputFile.read());
readBytes++;
}

inputFile.close();
outputFile.close();

} catch (FileNotFoundException e) {
System.out.println("Il file: " + pathFrom.toString() + ", non esiste!");
e.printStackTrace();
} catch (IOException e) {
System.out.println("Problemi con la lettura dei bytes!");
e.printStackTrace();
}

}
}


Questo codice copia un file (from.txt) su un altro (to.txt)
qualsiasi file... perchè ho usato gli array di Byte