Oué, nan, j'avoue que c'est moisi, c'est quand même mieux de lire par paquet comme tu as commencé, bien sûr

(mais pas autant que de déléguer au système, sauf contexte particulier où tu penses que tu feras mieux)
Ça a l'air correct :
http://stackoverflow.com/questions/10195343/copy-a-file-in-an-sane-safe-and-efficient-way