Dovrei fare un programmino in java che, oltre a fare altre cose, dovrebbe anche salvarmi i dati di una tabella in un file per poi ricaricarli. Bene ok decido di usare la serializzazione\deserializzazione dell'oggetto in questione faccio tutto come mi hanno insegnato ma qualcosa non va nella deserializzazione perchè quando schiaccio il bottone per serializzare lo fa tranquillamente (crea il file e ci mette dentro l'oggetto serializzato) ma quando poi schiaccio il bottone per deserializzare l'oggetto per poi aggiornare la tabella non va, l'oggetto rimane "null" e non capisco cosa non va perchè ho fatto tutto bene!

Vi riporto il codice interessato!

Questo è il codice dell'evento del bottone per quando serializzo l'oggetto:
codice:
else if(e.getSource() == save) { 
int returnVal = fc.showSaveDialog(this); 
if (returnVal == JFileChooser.APPROVE_OPTION) { 
File f = fc.getSelectedFile(); 
try { 
FileFactory.writeObject(f,ris); 
} 
catch(IOException ee) {txt.setText("Numero 1 save: " + ee);}  } }
Questo invece è l'evento del bottone che dovrebbe deserializzare l'oggetto dal file e aggiornare la tabella:
codice:
else if (e.getSource() == load) {
			   int returnVal = fc.showOpenDialog(this);
		        if (returnVal == JFileChooser.APPROVE_OPTION) {
		        	File f = fc.getSelectedFile();
		        	ObjectInputStream oos = null;
		        	try {
		      		  FileInputStream fos = new FileInputStream(f);
		    		  oos = new ObjectInputStream(fos);
		    		  
		        	}
		        	catch(IOException ee) {txt.setText("Numero 1: " + ee);}
		        	try {
		        		ris = (ArchivioRisultati) oos.readObject();
		        		oos.close();
		        	}
		        	catch(IOException ee) {txt.setText("Numero 2: " + ee);}
		        	catch(ClassNotFoundException ee) {txt.setText("Numero 3: " + ee);}
		        	//FileFactory.setFileContent(f, content);
		        	//txt.setText("Numero Matchati: " + ris.numMatched());
		        	tab.setModel(new MyTableModel(ris));
		        }
		   }
Mentre la classe ArchivioRisultati è questa:
codice:
import java.io.*;

import java.util.*;





public class ArchivioRisultati implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Vector<Risultati> lista = new Vector<Risultati>();

	
	
	public ArchivioRisultati() {
		//super();
	}
	
	
	
	public void add(Risultati p) {
		lista.add(p);
	}
	
	public Risultati getRisultati(int n) {
		return lista.elementAt(n);
	}
	
	public int numMatched() {
		return lista.size();
	}
	
	public void clear() {
		lista.clear();
	}

}
La classe Risultati è questa:
codice:
import java.io.Serializable;


public class Risultati implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String nomeFile; 
	private String stringaTrovata;
	private String stringaRimpiazzata;
	private int position;
	
	public Risultati() {
		this.nomeFile = null;
		stringaTrovata = null;
		stringaRimpiazzata = null;
		position = 0;
	}
	
	public Risultati(String file,String find,String replace, int pos) {
		this.nomeFile = file;
		stringaTrovata = find;
		stringaRimpiazzata = replace;
		position = pos;
	}
	
	public String getNomeFile() {return nomeFile;}
	
	public String getStringaTrovata() {return stringaTrovata;}
	
	public String getStringaRimpiazzata() {return stringaRimpiazzata;}
	
	public int getPosition() {return position;}
}
SONO VERAMENTE DISPERATO!!!