Originariamente inviato da andbin
L'unica no .... ma comunque è una che ha senso.
Un'altra soluzione sarebbe questa: istanziare CatFiles passando sempre il nome del file ma non istanziare subito un oggetto per la scrittura (basta solo tenersi il nome del file).
All'interno del metodo concatenaFile() si apre il file di destinazione specificando di fare l'"append" (non sovrascrittura) .... vedi costruttori di FileOutputStream quindi copiare e poi chiudere entrambi gli stream.
Le strade sono poi semplicemente 2 (non me ne vengono in mente altre ....):
a)
Apri destinazione
Apri, leggi e copia la sorgente 1, chiudi
Apri, leggi e copia la sorgente 2, chiudi
...
Chiudi destinazione
Oppure
b)
Apri destinazione per l'append
Apri, leggi e copia la sorgente 1, chiudi
Chiudi destinazione
Apri destinazione per l'append
Apri, leggi e copia la sorgente 2, chiudi
Chiudi destinazione
....
Insomma ... non è che te ne puoi inventare molti altri ....