io ci metto sempre un "flush" alla chiusura degli stream.

il file lo crea correttamente? metti qualche stampa prima di scrivere sul file per vedere se le operazioni che fai sono corrette