Tiro ad indovinare: manca da qualche parte nel processo di scrittura del file TXT un .flush() e .close() sul writer incaricato della scrittura. A mio avviso comunque, potresti anche "forzare" il download tramite headers... tutto più chiaro se fai una piccola ricerca anche qui sul forum stesso.