codice:
import java.io.*;
public class Test3 {
public static void main(String[] args) {
try{
//Creo i due flussi Stream RandomAccessFile per il file a.txt in modalita lettura
//e per il file b in modalita ettura/scrittura
RandomAccessFile rfa=new RandomAccessFile(new File("a.txt"),"r");
RandomAccessFile rfb=new RandomAccessFile(new File("b.txt"),"rw");
//Mi creo un array di byte di lunghezza 4
byte byt[]=new byte[4];
//posiziono il cursore sul file "a" in posizione 4(long)
rfa.seek(4);
//leggo a.length byte e li posiziono nell'array byt
rfa.read(byt);
//posiziono il cursore sul file b in posizione 20(long)
rfb.seek(20);
//scrivo l'array byt letto in precedenza sul file b alla posizione impostata precedentemente
rfb.write(byt);
//Chiudo i flussi :D
rfa.close();
rfb.close();
}catch(IOException e){}
}
}
Se c'è qualcosa che non capisci scrivi 

Ciauz e buono studio