@ Shagrat: non è così semplice. tutte le volte che modifichi un file zip, quello che succede davvero è che il file viene ricreato (anche se in background e si può non accorgersene) completamente.

@ Arciera: mi pare che qualche tempo fa (Settimane) si fosse già risposto ad alcuni quesiti sulla manipolazione di file zip in java, con classi per scompattare e ricompattare interamente java.
LA tecnica è fondamentalmente la stessa, tranne che dovrai scompattare l'archivio di destinazione, scompattare nella locazione temporanea i file che vuoi copiare dall'altro zip e ricompattare il tutto. Sul primo e sul terzo passaggio hai già tutto il materiale scritto nei precedenti post. Se ti accontenti di scompattare completamente anche il zip da dove devi recuperare i file da scrivere nell'altro zip, hai proprio tutto. Altrimenti, una volta che hai ottenuto una ZipInputStream ti scorri l'enumeration degli ZipEntry e scompatti solo quelli di tuo interesse.