outputFP è la tua lista?Originariamente inviato da Neptune
Salve a tutti,
ho un ciclo for in cui di volta in volta aggiungo una lista e quest'ultima vorrei scriverla in un file sovrascrivendo il contenuto precedente del file ovvero ci deve essere sempre solo una versione della lista nel file.
Per farlo utilizzo i seguenti comandi:
codice:FileOutputStream out = new FileOutputStream("testplista.txt"); PrintStream scrivi = new PrintStream(out); if(outputFP.size() == 0) System.out.println("LA LISTA E' VUOTA!!!"); scrivi.println(outputFP); scrivi.close(); out.close();
Dovresti scrivere elemento per elemento, non l'intera lista (a meno che la lista non sia serializzabile e qualcuno non abbia detto al tuo posto di scrivere elemento per elemento).
Devi fare poi un flush () sull'outputstream, in modo da forzare l'eventuale buffer interno dello stream (ne forzi lo svuotamento).
Imposta la scrittura elemento per elemento e prima della chiusura del file chiedi flush.
Se premi stop problemi non ce ne sono, ma in realtà tu non hai scritto niente (per quanto detto sopra).
Riguardo al controllo duplicati, carica un file e mettilo in una lista, carica il secondo leggendo riga per riga e controlla che la riga non sia presente nella prima lista.
La correttezza la puoi verificare da te in un solo modo: esegui e vedi se hai il risultato desiderato