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();
}
}
}