Ciao a tutti, mi rivolgo a voi perché proprio non so più dove sbattere la testa. Io un file che contiene deu oggetti di classe Oggetto e poi ho 2 file, uno per scrivere sul e l'altro per leggere dai file. Solo che mi dice, in fase di lettura, che non può leggere gli oggetti dal file!

Vi metto qui il codice, è semplice ed intuibile:

CLASSE: OGGETTO
codice:
import java.io.*;
import java.util.*;

public class Oggetto implements Serializable
{
	
	int numero = 4;

	public Oggetto()
	{
		numero = numero + 3;
	}
	
	public void descrivi()
	{
		System.out.println("Il numero vale: " + numero);
	}
	
	public static void main(String arg[]) 
	{
		/*
		try
		{
			Oggetto ogg1 = new Oggetto();
			Oggetto ogg2 = new Oggetto();
			ScriviSuFile scrittore = new ScriviSuFile("DATI", "dat", false);
			scrittore.scriviOggetto("DATI", "dat", true, ogg1);
			scrittore.scriviOggetto("DATI", "dat", true, ogg2);
		} catch(Throwable e) { System.out.println("ERRORE!"); }
		*/
		try
		{
			LeggiDaFile lettore = new LeggiDaFile("DATI", "dat");
			Oggetto ogg1 = (Oggetto)(lettore.leggiOggetto("DATI", "dat"));
			Oggetto ogg2 = (Oggetto)(lettore.leggiOggetto("DATI", "dat"));
			ogg1.descrivi();
			ogg2.descrivi();
		} catch(Throwable e) { System.out.println("ERRORE!"); }
	}
	
	
}

CLASSE: ScriviSuFile
codice:
import java.io.*;
import java.util.*;

public class ScriviSuFile implements Serializable
{	
	public ScriviSuFile(String NOME_FILE, String ESTENSIONE, boolean append)
	{
		try 
		{
			FileOutputStream out;
			ObjectOutputStream s;
			out = new FileOutputStream(NOME_FILE + "." + ESTENSIONE, append);
			s = new ObjectOutputStream(out);
		} catch (Throwable e) { System.out.println("Errore di apertura del flusso di dati"); }
	}
	
	public void scriviOggetto(String NOME_FILE, String ESTENSIONE, boolean append, Object oggetto)
	{
		try 
		{
			FileOutputStream out;
			ObjectOutputStream s;
			out = new FileOutputStream(NOME_FILE + "." + ESTENSIONE, append);
			s = new ObjectOutputStream(out);
			s.writeObject(oggetto);
			s.close();
		} catch (Throwable e) { System.out.println("Errore di scrittura dei dati"); }
	}
	
}

CLASSE: LeggiDaFile
codice:
import java.io.*;
import java.util.*;

public class LeggiDaFile implements Serializable
{	
	public LeggiDaFile(String NOME_FILE, String ESTENSIONE)
	{
		try 
		{
			FileInputStream file; 
			ObjectInputStream in; 
			file = new FileInputStream(NOME_FILE + "." + ESTENSIONE);
			in = new ObjectInputStream(file);
		} catch (Throwable e) { System.out.println("Errore di apertura del flusso di dati"); }
	}
	
	public Object leggiOggetto(String NOME_FILE, String ESTENSIONE)
	{
		Object oggetto = new Object();
		try 
		{
			FileInputStream file; 
			ObjectInputStream in; 
			file = new FileInputStream(NOME_FILE + "." + ESTENSIONE);
			in = new ObjectInputStream(file);
			oggetto =(Object)(in.readObject());
			in.close();
		} catch (Throwable e) { System.out.println("Errore di lettura dei dati"); }
		return oggetto;
	}
	
}
Mi potete dire dove sbaglio??? Vi ringrazio di cuore! =)
Ps: provate a creare due oggetti, a scriverli su file e dopo vedere se vengono letti entrambi. Grazie!