Sì, e anche abbastanza.
Innanzitutto utilizzando una classe di I/O in grado di fare del "buffering". Alcune varianti:
tue scritture -> PrintStream -> BufferedOutputStream -> FileOutputStream
oppure
tue scritture -> BufferedWriter -> OutputStreamWriter -> FileOutputStream
Poi se vuoi comporre una riga intera per volta, certamente non usando la concatenazione delle stringhe ma usando direttamente un StringBuffer/StringBuilder. In alternativa (avendo un "buffering" al di sotto che aiuta), scrivere direttamente i pezzetti senza comporre alcuna stringa più grande.
Ah, e sarebbe bene fare alla fine un bel flush() e poi il close(). Entrambi sull'oggetto di I/O più "esterno" che hai in quel momento.


Rispondi quotando