Problemi con la sovrascrittura del file di scrittura anziché l’aggiunta alla fine

OK, sto avendo qualche problema a scrivere più righe su un file di testo.

il programma viene eseguito, ma non utilizzerà mai nuove righe ogni volta

quando voglio eseguirlo 4 volte, il file di testo dovrebbe avere il seguente aspetto:

a b c d 

invece, sembra:

 d 

chi sa come risolvere questo problema? tutte le importazioni sono importate correttamente.

    fonte (è stato modificato leggermente, si assume che tutto sia definito correttamente):

     import java.io.*; public class Compiler { public static void main (String args[]) throws IOException { //there's lots of code here BufferedWriter outStream= new BufferedWriter(new FileWriter("output.txt")); outStream.newLine(); outStream.write(output); outStream.close(); } } 

    Assicurarsi che quando si crea un’istanza di un FileWriter , che si accoda alla fine di esso. Questo può essere fatto usando questo specifico costruttore di FileWriter che prende un ulteriore boolean come secondo parametro. Questo valore boolean indica che FileWriter deve essere aggiunto alla fine del file, piuttosto che sovrascrivere il file.

     BufferedWriter outStream= new BufferedWriter(new FileWriter("encoded.txt", true)); 

    Di default, FileWriter sovrascrive il file. Quello che potresti voler fare è definire il lettore nel modo seguente:
    new FileWriter("encoded.txt", true)
    In questo modo verrà aggiunto il file anziché essere sovrascritto .

    Spero che questo ti aiuti!

    Non sono sicuro di cosa dovrebbe fare questo codice. Genera un errore se la stringa di input è lunga più di un carattere, perché chiudi FileWriter all’interno del ciclo, quindi prova a scrivere di nuovo.

    Sto interpretando la tua domanda nel seguente modo: ti stai chiedendo perché solo il risultato più recente è nel file. In tal caso, è perché non hai creato il tuo FileWriter in modalità append. Guarda i diversi costruttori disponibili per FileWriter e usa quello che ti permette di aggiungere al file.