Accedi per seguire   
Seguaci 0
depresso per java

[java] Array E File

5 messaggi in questa discussione

Inviato (modificato)

Stiamo programmando in java.Abbiamo creato una stringa di array che contiene tutte le parole consentite,cioè questo file funge da dizionario quando in seguito immettiamo un testo.Ora dovrei immettere nuove parole e salvarle.Per fare questo dovrei prima caricare i dati e continuare a scrivere.Ho fatto questo:

ObjectInputStream carica = new ObjectInputStream(new FileInputStream("dizionario.out"));

inseriscidizionario= (String)carica.readObject();

while (inseriscidizionario !=null){

++i;

inseriscidizionario =(String)carica.readObject();

facendo questo dovrei caricare in ogni spazio dell'array una parola e continuare a scrivere sul primo indice disponibile.

MA OGNI VOLTA COMINCIA A SCRIVERE DALL'INIZIO :)

edit:

titolo editato come da art. 6 del regolamento

Modificato da Prozac

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

ciao

mentre attendi la risposta di qualcuno più competente, posso invitarti a presentarti nell'apposita thread di Benvenuto

ti invito come da regolamento a scrivere post e relativi titoli in modo da agevolare la ricerca agli altri utenti!

ciao e grazie

:)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

E qui non ho capito se è solo un errore di battitura o un errore, dunque ti crea una oggetto di input e questo va bene, e passi al costruttore il file di input, benissimo. Ora la variabile i dov'è dichiarata? la sintassi da presentata:

inseriscidizionario[i] = (String)carica.readObject();

ha senso se hai dichiarato prima preventivamente i e hai costruito un arrey dinamico, ma questo non penso sia l'errore, piuttosto

while (inseriscidizionario[i]!=null){
++i;
[COLOR=red]}[/COLOR]
inseriscidizionario[i] = (String)carica.readObject();

non hai chiuso la parentesi selezionata e quindi è naturale che ti riparta dall'inizio, se non è questo l'errore allora dovresti postarmi il codice completo, altrimenti non so come aiutarti :)

PS A titolo implementativo forse un ciclo for è più naturale, una cosa del tipo

int i; 
for (i=0; inseriscidizionario[i]!=null; i++); 
inseriscidizionario[i] = (String)carica.readObject();

forse risulta più leggibile poi vedi tu.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

é vero forse il for è più utile ma il while funziona lo stesso.Nel caricare il file ho bisogno del primo indice dell'array libero ,per poi continuare a scrivere su quel file senza cancellare i dati vecchi.Perciò voglio sapere come si può salvare(e quindi poi caricare)in un file un array di dati di tipo String.

Io l'ho gia fatto in passato usando la classe ObjectInputStream/ObjectOutputStream con successo ma trattavo dati di tipo array di record ora invece utilizzo solo un array e credo che il problema sia questo.

Aiutami :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ciao depresso_per_java, l'IO in java non è sempliccisima e adesso purtroppo non ho il tempo necessario a darti le spiegazioni necessarie per farlo, se aspetti fino a sabato ti darò tutte le delucidazioni che chiedi ma questi due giorni proprio non ho tempo, Per intanto ti faccio dare un'occhiata a questo articolo: http://www.mokabyte.it/2005/05/javaio-2.htm che tratta molto bene l'argomento. Per il resto dovresti guardarti le calssi FileReader e FileWriter, molto utili, se hai acnora dubbi non esitare a chiedere :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora
Accedi per seguire   
Seguaci 0