no,nn mi dà nessuna eccezione quando scrivo
codice:
import java.io.*;
// questa classe si occupa delle operazioni con i file
public class Sorgente {
// variabili di istanza
Prodotto[] prodotti= new Prodotto[2];
Prodotto nuovoprodotto,prova;
Marca[] marca= new Marca[2];
FileOutputStream fosp=null,fosm=null;
FileInputStream finp=null,finm=null;
ObjectInputStream oisp,oism;
ObjectOutputStream outp,outm;
String tmp;
// nel costruttore apro i file per la lettura e la scrittura
public Sorgente(){
//apro il flusso di lettura
try{
fosp= new FileOutputStream("C:/Users/laura/prodotti.bin");
outp= new ObjectOutputStream(fosp);
}
catch(IOException e)
{
e.printStackTrace();
}
try{
finp= new FileInputStream("C:/Users/laura/prodotti.bin");
oisp= new ObjectInputStream(finp);
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
// questo metodo legge dal file
public Prodotto[] GetListaProdotti()
{
try
{
prodotti=(Prodotto[])oisp.readObject();
oisp.close();
}
catch(ClassCastException e)
{
e.printStackTrace();
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
return prodotti;
}
// questo metodo scrive sul file
public void SetListaProdotti(Prodotto[] p)
{
try
{
outp.writeObject(p);
outp.flush();
outp.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
Praticamente io,in un altra classe con il main, prima chiamo il costruttore,e fin lì nex problema. Poi se provo a chiamare prima SetListaProdotti,passandogli l'array da scrivere, e poi GetListaProdotti, nessun problema. Se però provo a rilanciare il programma,togliendo nella classe con il main la chiamata a SetListaProdotti e cercando solo di leggere mi crasha,mi da errore nella read Object, in particolare "line not availible"
uffa