New ObjectInputStream(new FileInputStream("clientes.ser"));

Pessoal estou com um problema ao incluir um novo objeto no arquivo, o que acontece é que quando, gravo ou seja incluo um novo objeto no arquivo ja existente ele sobreescreve o arquivo anterior, gravando apenas o novo, alquem sabe como resolver isto, para adicionar novos objetos sem apagar os ja gravados.
segue o codigo:

public void gravaArquivo(){
try {

        Scanner entrada= new Scanner(System.in);
        grava = new ObjectOutputStream(new FileOutputStream("clientes.ser"));
        
        for(int cont=0;cont<2;cont++){
        Cliente cliente=new Cliente();
        System.out.println("digite o codigo:");
        cliente.setCod(entrada.nextInt());
        System.out.println("digite o nome:");
        cliente.setNome(entrada.next());
        
        grava.writeObject(cliente);
        
        }
        grava.close();
    } catch (FileNotFoundException ex) {
        System.out.println("erro file");
        ex.printStackTrace();
    } catch (IOException ex) {
        System.out.println("erro ao abri arquivo");
    }

}

public void lerArquivo() {
    try {
  
        ler= new ObjectInputStream(new FileInputStream("clientes.ser"));
    } catch (FileNotFoundException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        System.out.println("erro ao abrir o arquivo");
    }
    Cliente cliente;
    
    while(true){
        try {
            cliente=(Cliente) ler.readObject();
            System.out.println("codigo:"+ cliente.getCod());
            System.out.println("nome:"+ cliente.getNome());
        } catch (IOException ex) {
            return;
        } catch (ClassNotFoundException ex) {
            System.out.println("impossivel criar o objeto");
            ler.close();
        }
    
    }
         
}

Vc deveria salvar uma Lista de clientes, não um cliente de cada vez… :wink:

valeu a dica
estou salvando primeiro os dados no array depois no arquivo

o problema é que toda vez que for salvar novos dados, tenho que ler todo o arquivo gravar no array adicionar os novos objetos e gravar tudo de novo no arquivo.

mas se assim que funciona entao beleza!!

obrigado