IO exception salvataggio

di il
5 risposte

IO exception salvataggio

Ho un problema di salvataggio su file, che mi genera l'eccezione IOException:

questo è il metodo di salvataggio:

public static void salvaSingoloOggetto (File f, Object daSalvare)
	 {
		 ObjectOutputStream uscita = null;
			
		 try
			{
			 uscita = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(f)));
				
			 uscita.writeObject(daSalvare);
				
			}
		 catch (IOException excScrittura)
			{
			 System.out.println(MSG_NO_SCRITTURA + f.getName() );
			}
		 
  	     finally
			{
			 if (uscita != null)
				{
				 try 
				  {
				   uscita.close();
				  }
				 catch (IOException excChiusura)
					{
			 			System.out.println(MSG_NO_CHIUSURA + f.getName() );
					}
				}
			} // finally

		 } // metodo salvaSingoloOggetto

e questo è il pezzo di main nel quale salvo

contenitore=Lavoratore.creaContenitore();
ServizioFile.salvaSingoloOggetto(fileTitoli, contenitore);
ServizioFile è la classe nella quale ho il metodo di salvataggio scritto sopra.

fileTitoli dove vado a salvare il file è

File fileTitoli= new File(NOME_FILE);

private final static String NOME_FILE="archivioTitoli.dat";

contenitore è un oggetto al quale ho passato gli argomenti da salvare

public Contenitore(ElencoTitoli _elencoTitoli, Portafoglio _portafoglio, int giorno)
	{
		elencoTitoli=_elencoTitoli;
		portafoglio=_portafoglio;
	}
dal salvare infatti ho un elenco di titoli (Vector<Titoli>) e un portafoglio (Vector<Lotti>), comunque non credo sia quello che mi crea problemi.



Cosa può essere che mi genera l'eccezione? Grazie

5 Risposte

  • Re: IO exception salvataggio

    Prova a stampare lo stack trace all'interno del catch, così saprai esattamente qual è il problema. Forse le tue classi personalizzate non sono serializzabili?
  • Re: IO exception salvataggio

    Scusa l'ignoranza, cos'è lo stack trace e come faccio a visualizzarlo?

    Io ho serializzato la classe Contenitore che è quella appunto a cui passo i dati da salvare... ho fatto giusto?

    Grazie
  • Re: IO exception salvataggio

    Tutte le classi che andranno slavate vanno serializzate...ElencoTitoli Titoli Lotti sono tutti serializzati???
  • Re: IO exception salvataggio

    Lo stack trace mostra lo stato dello stack, ovvero la sequenza di chiamate di metodi che ha portato al lancio dell'accensione dell'eccezione.. È, quindi, molto utile per capir cosa va storto.. per mostrarlo puoi fare così
    
    try {
       ...
    } catch (IOException e) {
       e.printStackTrace();
    }
    
  • Re: IO exception salvataggio

    Ecco quelle classi non le avevo serializzate!! ora provo grazie mille

    Grazie anche x lo stack
Devi accedere o registrarti per scrivere nel forum
5 risposte