En raison de la bufferisation. Il y a un buffer qui permet d'éviter par exemple d'écrire des tonnes de petit morceau à des intervalles différents en temps ce qui peut être lent pour un disque. Il y a donc un buffer, un petit espace mémoire qui seulement lorsqu'il est plein lance l'enregistrement final sur le disque. Lorsque tu fait un flush() alors tu forces à lancer les écritures et vider le buffer.