Serialização

Caros, sou novo no fórum, já realizei uma imensa pesquisa dentro do GUJ e no google, olhei a API do java.io.ObjectInputStream e não encontrei algo que possa me auxiliar.
A questão é a seguinte, preciso serializar objetos em um arquivo, para isto utilizei o java.io.ObjectOutputStream. Minha classe ficou assim:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

/**
 *
 * @author Administrador
 */
public class gravaObjeto {
    FileOutputStream fos;
    ObjectOutputStream oos;
    Object obj;

    public void gravarObjeto(Object objeto){
        try{
            this.obj = objeto;
// aqui o atributo "true" inica que o arquivo deverá permitir o append de novos objetos
            fos = new FileOutputStream("C:\tmpo.txt", true);
            oos = new ObjectOutputStream(fos);
            oos.writeObject(obj);
            oos.flush();
            fos.close();
            oos.close();
        }catch(IOException ioe){
            System.out.println(ioe);
        }
    }

}

O arquivo é gerado sem problemas, porém, não encontrei em nenhuma fonte a qualquer forma (mesmo tosca) de fazer com que o ObjectInputStream faça a leitura de todos os objetos serializados.
Todos os métodos da classe ObjectInputStream não dão suporte à qualquer método boolean que permita verificar se os objetos foram lidos.
Praticamente todas as fontes que consultei apenas tratam da serialização de um único objeto, o problema é que, devido a uma questão da faculdade, preciso serializar mais de um objeto e recuperá-lo, mas não quero fazer isto com um ArrayList, pois a proposta do problema é para que os atributos de cada classe sejam informados e salvos, mesmo com intervalos de tempos, tornando o uso do Arraylist inviável (a não ser que toda vez que eu vá serializar um objeto carregue todo o array e refaça o processo, mas isto é meio ilógico).

Portanto, como ler mais de um objeto serializado em um arquivo?

Cara, sinceramente não entendi sua dúvida. Para serializar mais de um objeto em um mesmo arquivo basta chamar writeObject para cada um dos seus arquivos, e para fazer a leitura basta chamar readObject diversas vezes também. Uma maneira de indicar o final da escrita é serializar null, e quando você for desserializar você lê objetos até encontrar null e para a leitura. Agora, eu realmente não entendi qual é o seu problema, seja mais objetivo.

A serialização está ok, o problema é que, ao chamar o readObject() somente o primeiro objeto é lido, independente de quantos existam.
Por exemplo, caso eu serialize os numero 1, 2, 3, 4 como objetos, ao ler o arquivo, apenas o objeto 1 é retornado.

Sim, o comportamento é esse mesmo, o que você precisa fazer é chamar readObject para cada objeto lido. Mas realmente, acho que a maneira mais limpa de trabalhar com isso é serializar a estrutura de dados em que você mantém os objetos e recompô-la quando ler o arquivo.