PDA

View Full Version : Archiviazione in java


Oppid
15-04-2005, 12:06
Salve ragazzi, vorrei creare un piccolo programma in java per l'archiviazione di libri che verranno salvati in un file .txt. Il problema sorge quando chiudo e riavvio il programma perchè inserendo nuovi libri mi va a cancellare i vecchi. Allora mi chiedo come faccio a leggere tutto il file e poi scriverci nel punto esatto in cui finisco le informazioni? Grazie a tutti per le risposte :rolleyes:

Passy
15-04-2005, 12:56
Salve ragazzi, vorrei creare un piccolo programma in java per l'archiviazione di libri che verranno salvati in un file .txt. Il problema sorge quando chiudo e riavvio il programma perchè inserendo nuovi libri mi va a cancellare i vecchi. Allora mi chiedo come faccio a leggere tutto il file e poi scriverci nel punto esatto in cui finisco le informazioni? Grazie a tutti per le risposte :rolleyes:

Di solito quando apri un file puoi aprirlo in modalità append cioè ti scrive in coda al file.
es:

File file = new File("prova.txt");
FileWriter fo = new FileWriter(file, true);


Ciao

Oppid
15-04-2005, 20:52
Grazie mille!!!!
:D

petitof
13-05-2005, 14:57
Scusatemi se mi inserisco ma io invece ho lo stesso problema in java...

Sapreste aiutarmi?!!

:D

Passy
13-05-2005, 18:09
Spiegati meglio che tipo di problema hai?

petitof
16-05-2005, 09:02
L'ho risolto dichiarando publicamente uno stringbuffer che mette in append i contenuti tra la chiamata di una classe e l'altra del main...così ora riesco a stampare solo su un file!!! Secondo te è stata una buona soluzione?

Passy
16-05-2005, 14:18
Dipende dal codice... Di solito i campi di una classe li devi dichiarare private e andare accedere a loro con i relativi metodi get e set, così soddisfi il concetto di incapsulazione OOP.
es:

...

private String myString = null;

...

public String getMyString() {
return myString;
}

public String setMyString(final String myString) {
this.myString = myString;
}

...


Nel tuo caso credo di aver capito devi scrivere su di un file da + classi.
Come hai fatto tu funziona ma io avrei fatto una classe che gestisce l'apertura e la chiusura del file con all'interno un metodo write(String line) che scrive in append sul buffer. L'avrei dichiarato statico nella classe che contiene il main e inizializzato nel main stesso così sarebbe stato disponibile in tutte le situazioni. Così facendo rendi disponibile a tutte le classi la possibilità di scrivere su file

Ciao