salve a tutti, sono nuovo di questo forum e vorrei sapere se potete aiutarmi a risolvere un problema con la serializzazione degli oggetti su file.

codice:
import java.io.*;


import javax.swing.*;

public class Registrazione 
{
	private String user;
	private String pass;
	
	private ObjectOutputStream output;
	private ObjectInputStream input;
	
	public Registrazione(String user, String pass)
	{
		this.pass = pass;
		this.user = user;
	}
	
	public Registrazione(){}
	
	public void openFileWrite()
	{
		try
		{
			output = new ObjectOutputStream(new FileOutputStream("user.ser",true));
		}
		catch(IOException e)
		{
			JOptionPane.showMessageDialog(null,"Errore nell'apertura del File!!!","Errore", JOptionPane.ERROR_MESSAGE);
			return;
		}
	}
	
	private void closeFileRead()
	{
		try
		{
			if(input!=null)
			{
				input.close();
			}
		}
		catch(IOException e)
		{
			JOptionPane.showMessageDialog(null,"Errore nella chiusuta del file!!!","Errore", JOptionPane.ERROR_MESSAGE);
			return;
		}
	}
	
	private void closeFileWrite()
	{
		try
		{
			if(output!=null)
			{
				output.close();
			}
		}
		catch(IOException e)
		{
			JOptionPane.showMessageDialog(null,"Errore nella chiusuta del file!!!","Errore", JOptionPane.ERROR_MESSAGE);
			return;
		}
	}
	
	public void openFileRead()
	{
		try
		{
			input = new ObjectInputStream(new FileInputStream("user.ser"));
		}
		catch(IOException e)
		{
			JOptionPane.showMessageDialog(null,"Errore nell'apertura del File!!!","Errore", JOptionPane.ERROR_MESSAGE);
		}
	}
	
	public void registraUser()
	{
		AccountRecordSerializable record;
		openFileWrite();
		try
		{									
			record = new AccountRecordSerializable(user,pass);
			output.writeObject(record);
		}
		catch(IOException e)	
		{
				
		}
		closeFileWrite();
	}
	
	public void controllaUserEsistente()
	{
		AccountRecordSerializable record= null;
		boolean utente_non_trovato = true;
		
		openFileRead();
		
		try
		{
			while(utente_non_trovato)
			{
				record = (AccountRecordSerializable) input.readObject();
				System.out.println(record.getUser());
				System.out.println(record.getPass());
				if(user.equals(record.getUser()))
				{
					utente_non_trovato = false;
					JOptionPane.showMessageDialog(null, "Utente già esistente!","Informazione",JOptionPane.INFORMATION_MESSAGE);
				}			

			}
		}
		catch(EOFException e)
		{
			closeFileRead();
			registraUser();
		}
		catch(ClassNotFoundException e)
		{
			JOptionPane.showMessageDialog(null, "catch class!","Informazione",JOptionPane.INFORMATION_MESSAGE);
		}
		catch(IOException e)
		{
			JOptionPane.showMessageDialog(null, "catch IO!","Informazione",JOptionPane.INFORMATION_MESSAGE);
		}
		return;
	}
	
}
L'inserimento avviene su main attraverso due JOptionPane.showinputdialog.

io inserisco il primo oggetto nel file e tutto va ok!
quando inserisco il secondo oggetto e si attiva il metodo controllaUserEsistente() si attiva l'eccezione (IOException).

non so per quale motivo.....è sbagliato il codice? ditemi voi se avete qualche altra soluzione.

p.s. come avete visto si tratta di verificare se l'utente è gia registrato oppure no e di inserirlo nel file.