Como gravar objetos serializados em arquivos sem sobrescrever?

Olá pessoal, estou fazendo um programa que grava e lê Objetos serializados em arquivos, porém não consegui fazer com que ele grave sem sobrescrever o arquivo existente. Resumindo, quando o aplicativo grava, ele apaga tudo o que foi gravado antes.

Qual tipo de Arquivo ?

Hoje eu trabalho com aplicações que escrevem arquivos .csv e .txt sem sobrescrever.

Temos alguns pontos aqui.
Primeiro que você deve estar abrindo o arquivo com o FileOutputStream, passando apenas um File (ou a String que representa o caminho do arquivo) como argumento.
O FileOutputStream possui métodos construtores sobrecarregados e uma das sobrecargas recebe um segundo argumento, um boolean que indica se o arquivo poderá ser ‘apendado’ ou não.
Se você usar o construtor sobrecarregado e passar o segundo argumento como true não terá este problema.
Segundo, como você vai ler vários objetos de um arquivo onde os mesmos foram serializados?

Obrigado pelas dicas, consegui resolver meu problema com o método de cadastro da seguinte forma (contando que A classe Cliente implementa Serializable)

[code]public void cadastrar(Cliente cliente) throws Exception, ClassNotFoundException{

    intput = new ObjectInputStream(new FileInputStream("clientes.piz")); 
    
    ArrayList<Cliente> arquivo;

    try{
        arquivo = (ArrayList<Cliente>) intput.readObject();
        intput.close();
        arquivo.add(cliente);
            output = new ObjectOutputStream(new FileOutputStream("clientes.piz"));
            output.writeObject(arquivo);  
        System.out.println(1);
        
    }catch(IOException e){
        arquivo = new ArrayList<Cliente>();
        arquivo.add(cliente);
        output.writeObject(arquivo);   
        System.out.println(2);
    
    }
        
    
        if(output != null)
        output.close();
       
        
    
}[/code]