Erro java.io.StreamCorruptedException: invalid type code: AC

Olá, Galera

Estou tendo um probleminha… estou utilizando a serialização para salvar objetos. Para gravar o objetos no arquivo ( alunos02.dat ) não estou tendo problemas.
O erro acontece quando tento ler o objeto do arquivo utilizando o método carregaAlunos().

public class GerenciadorArquivos {

	private File arquivo;
	FileOutputStream foStream;
	FileInputStream fiStream;

	ObjectOutputStream gravador;
	ObjectInputStream leitor;
	private int totalAlunos;

	public GerenciadorArquivos(String nomeArquivo) throws FileNotFoundException {
		arquivo = new File(nomeArquivo);
		if (!arquivo.exists())
			try {
				arquivo.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}

		try {

			this.fiStream = new FileInputStream(this.arquivo);
			this.foStream = new FileOutputStream(this.arquivo,true);
			gravador = new ObjectOutputStream(this.foStream);
			leitor = new ObjectInputStream(this.fiStream);
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	

public void salvaAlunos(Aluno[] alunos) {
		for (Aluno a : alunos) {
			try {

				gravador.writeObject(a);
				System.out.println("Aluno " + a.getNomeAluno() + " salvo.");
				this.totalAlunos++;
				gravador.flush();

			} catch (IOException e) {

				JOptionPane.showMessageDialog(null,
						"Deu pau no método salvaAluno(Aluno[] alunos)");
				e.printStackTrace();
			}

		}

	}




	public Aluno[] carregaAlunos() throws IOException {
		Aluno[] alunos = new Aluno[this.totalAlunos];
		int x = 0;

		if (this.arquivo.exists()) {
			while (x <= this.totalAlunos) {

				try {

					alunos[x] = (Aluno) this.leitor.readObject();
					x++;
				}

				catch (IOException e) {
					System.out.println("Exeção IO");
					e.printStackTrace();
					break;
				} catch (ClassNotFoundException e) {
					System.out.println("Exeção ClassNotFound");
					e.printStackTrace();
					break;
				}
			}
		}

		return alunos;
	}



quando tento ler o arquivo é apresentado o seguinte erro:


java.io.StreamCorruptedException: invalid type code: AC
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readObject(Unknown Source)
	at GerenciadorArquivos.carregaAlunos(GerenciadorArquivos.java:126)
	at Sistema.carregarSequencial(Sistema.java:60)
	at Sistema.main(Sistema.java:26)

Se alguém puder dar uma dica, agradeço.
Abraços