|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
[JAVA] salvataggio e caricamento oggetto ..
ciao a tutti.. torno a rompervi le scatole con un dubbio..
allora.. io ho un oggetto che ho dichiarato static. questo oggetto contiene due metodi: salva e carica da file, quando all'interno di un'altra classe richiamo questi due metodi il compilatore mi da errori di IOEXception oppure non salva.. vi posto il codice di entrambi i metodi: SALVA: public void salva() throws IOException { FileOutputStream outfile = new FileOutputStream ("magazzino.dat"); ObjectOutputStream outstream = new ObjectOutputStream(outfile); outstream.writeObject(vettore_m); } CARICA: public void carica() throws IOException { FileInputStream infile=new FileInputStream("magazzino.dat"); ObjectInputStream instream = new ObjectInputStream(infile); //quì manca qualche cosa } aiutooo grazie |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Forse...
Può essere un problema di serializzazione. L'oggetto ObjectOutputStream traduce un oggetto in una sequenza di byte solo a certe condizioni. In particolare devi vedere se "vettore_m" implementa l'interfaccia "Serializable" e se è una lista (ad es. un Vector) che tutti i suoi elementi implementino l'interfaccia "Serializable".
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
grazie per la risposta..
il problema del salvataggio è nel fatto che se richiamo il metodo oggetto.salva(); mi chiede delle parentesi graffe inutili.. ti metto in allegato la parte di codice dove me le chiede.. per il caricamento da file nessun aiutino?? ![]() class finestra2_jButton6_actionAdapter implements java.awt.event.ActionListener throws IOException{ // chiede una qui { finestra2 adaptee; finestra2_jButton6_actionAdapter(finestra2 adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e)throws IOException { adaptee.jButton6_actionPerformed(e); } } class finestra2_jButton7_actionAdapter implements java.awt.event.ActionListener { finestra2 adaptee; finestra2_jButton7_actionAdapter(finestra2 adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton7_actionPerformed(e); } } class finestra2_jButton8_actionAdapter implements java.awt.event.ActionListener { finestra2 adaptee; finestra2_jButton8_actionAdapter(finestra2 adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton8_actionPerformed(e); } }// ed una qui |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
la classe Jbutton6 è quello che chiama il metodo salva..
infatti è l'unica con l'IOException.. |
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Spero di aver afferrato il problema...
La clausola throws si usa con i metodi, se la scrivi per le classi il compilatore si ribella. Per intercettare l'eccezione:
try { ...operazione che richiama il metodo save } catch(IOException e) { ...gestione dell'eccezione "e" } per il metodo load try { ... } catch(IOexception e) { ... } catch(ClassNotFoundException e) { ... } per deserializzare un oggetto Object obj=ObjectInputStream.readObject(); poi (o durante) fai il casting dell'Oggetto obj nel tipo. Ciao. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
sei gentilissimo.. ora modifico il codice..
se ho altri problemi.. tornerò.. ![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
sei gentilissimo.. ora modifico il codice..
se ho altri problemi.. tornerò.. ![]() |
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
E' che sono in vacanza e me la godo un mondo
![]() Ciao. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
mi da l'errore nella riga rossa..
void jButton7_actionPerformed(ActionEvent e) throws ClassNotFoundException{ try { finestra1.vett.carica(); finestra27 apri=new finestra27(); apri.show(); } catch(ClassNotFoundException r) { } "finestra2.java": Error #: 556 : exception java.lang.ClassNotFoundException is never thrown in the corresponding try block at line 118, column 6 |
![]() |
![]() |
![]() |
#10 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
o throws nella dichiarazione del metodo o try catch nel corpo (per lo stesso tipo di eccezione). il troppo stroppia!
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
anche togliendo il throw dal metodo mi da lo stesso errore..
lo so che ti stresso.. ![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jul 2002
Città: ATZARA
Messaggi: 2204
|
risolto.. e funziona bene adesso..
grazie mille.. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:43.