Tu peux aussi écrire dans un nouveau fichier temporaire.
Quand la lecture du fichier original est terminée, tu fermes les deux fichiers, tu effaces le fichier original (ou tu le renommes en ajoutant une date/heure de renommage ça peut-être plus prudent) et tu renommes le fichier temporaire.