@yyzyyz:
1) perchè li apri in maniera sequenziale per caricare/scaricare tutto il contenuto e non usi il binario che è molto più performante
2) perche, inserendo una gestione dell'errore (giustamente peraltro), non ti preoccupi di chiudere il file? Ad una successiva azione dell'utente generebbe un errore di IO