Salve ragazzi.

Ho da sottoporvi un quesito.

Ho una applicazione swing, con una JTable.
La JTable, può avere un numero variabile di righe.

Alla pressione di un tasto, viene richiamato un metodo il quale cicla sulla tabella recuperando gli oggetti della tabella riga per riga.

Aggiorna per ogni riga la corrispondente sul DB, inoltre scrive su un file di testo.

Ora il mio obiettivo è quello di velocizzare la creazione e scrittura di questo file di testo.

Attualmente io faccio così

codice:
public void scriviFile(String[] array){
FileOutputStream file = new FileOutputStream("C:/Users/Downloads/file.txt");
	       PrintStream Output = new PrintStream(file);
for(int i=0; i<array.length; i++){
	       Output.println(array[i]);
}
Output.close;
}
in pratica quando aggiorno il db mi creo un array, con tutte le righe che devo scrivere.

Ho ottimizzato leggermente il codice facendo in modo che nel ciclo in cui mi creo l'array, mi scrivo direttamente il file.

Quindi quando l'utente clicca sul pulsante vado in un metodo in cui

ciclando per le righe della tabella, per ogni riga, eseguo una query a db e scrivo una nuova riga sul file di testo.

In questo modo ho risparmiato un ciclo.

Non ci sarebbe una soluzione più performante?? Vi spiego capita molto spesso che la creazione di questo file diventa lunga questo perchè ogni tanto sapete che il sistema operativo fa delle operazioni e quindi questo potrebbe provocare lentezza nell'accesso al disco

grazie