non puoi copiare i file binari come file di testo, interpretando quindi i byte come dei char.

Codice PHP:
import java.io.*;

public 
void copy(String originalFileString newFilethrows IOException {
    
File inputFile = new File(originalFile);
    
File outputFile = new File(newFile);
    
InputStream finput = new BufferedInputStream(new FileInputStream(inputFile));
    
OutputStream foutput = new BufferedOutputStream( new FileOutputStream(outputFile));
    
byte[] buffer = new byte[1024 500];
    
int bytes_letti 0;
    while((
bytes_letti finput.read(buffer)) > 0)
        
foutput.write(buffer0bytes_letti);
    
finput.close();
    
foutput.close();

oppure

Codice PHP:
import java.nio.channels.*;
import java.io.*;


  public 
void copyFile(File sfileFile dfilethrows Exception
  
{
     
FileChannel source = new FileInputStream(sfile).getChannel();
     
FileChannel dest = new  FileOutputStream(dfile).getChannel();
     
source.transferTo(0source.size(), dest);
     
source.close();
     
dest.close();
  }