Boa noite pessoal!
Então preciso guardar um objeto Motorista dentro de um arquivo .txt e resgatá-lo depois, quando eu insiro apenas 1 motorista eu consigo regastá-lo, mas quando eu insiro novamente o motorista eu vejo que foi inserido outro no .txt mais eu só consigo resgatar apenas o primeiro motorista inserido(Metodo Consulta()).
Alguém poderia me ajudar? Pois preciso resgatar tudo que foi inserido no .txt
Classes do sistema:
package projetoviacao;
import java.util.ArrayList;
import java.util.Iterator;
/**
*
* @author alexandre
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ArrayList lista = new ArrayList();
Motorista motorista;
motorista = new Motorista();
motorista.setCodigoMotorista(1);
motorista.setNomeMotorista("NomeMotorista1");
motorista.setRgMotorista("RG1");
motorista.setCpfMotorista("CPF1");
motorista.setDataNascimentoMotorista("data1");
motorista.setCnhMotorista("CNH1");
lista.add(motorista);
MotoristaTXT txt = new MotoristaTXT();
txt.GravarMotorista(lista);//cadastra o motorista no arquivo .txt
Consulta();//consulta o motorista
}
public static void Consulta() {
MotoristaTXT txt = new MotoristaTXT();
//ler
ArrayList lista2 = new ArrayList();
lista2 = txt.LerMotoristaTXT();
Iterator iterator = lista2.iterator();
Motorista motorista;
while (iterator.hasNext()) {
motorista = (Motorista) iterator.next();
System.out.println("Codigo: " + motorista.getCodigoMotorista());
System.out.println("Nome: " + motorista.getNomeMotorista());
System.out.println("RG: "+motorista.getRgMotorista());
System.out.println("----");
}
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package projetoviacao;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author alexandre
*/
public class MotoristaTXT {
public String fileName = "Motorista.txt";
public void GravarMotorista(ArrayList lista) {
//ArrayList lista = this.LerMotoristaTXT();
//lista.add(motorista);
try {
// Serialize to a file
ObjectOutput out = new ObjectOutputStream(new FileOutputStream("Motorista.txt", true));
out.writeObject(lista);
out.flush();
out.close();
} catch (IOException e) {
}
}
public ArrayList LerMotoristaTXT() {
ArrayList lista = new ArrayList();
File file = new File(this.fileName);
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
lista = (ArrayList) in.readObject();
in.close();
} catch (ClassNotFoundException ex) {
Logger.getLogger(MotoristaTXT.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(MotoristaTXT.class.getName()).log(Level.SEVERE, null, ex);
}
return lista;
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package projetoviacao;
/**
*
* @author alexandre
*/
public class Motorista implements java.io.Serializable {
public int codigoMotorista;
public String nomeMotorista;
public String rgMotorista;
public String cpfMotorista;
public String cnhMotorista;
public String datanascimentoMotorista;
public Motorista() {
}
public String getCnhMotorista() {
return cnhMotorista;
}
public void setCnhMotorista(String cnhMotorista) {
this.cnhMotorista = cnhMotorista;
}
public int getCodigoMotorista() {
return codigoMotorista;
}
public void setCodigoMotorista(int codigoMotorista) {
this.codigoMotorista = codigoMotorista;
}
public String getCpfMotorista() {
return cpfMotorista;
}
public void setCpfMotorista(String cpfMotorista) {
this.cpfMotorista = cpfMotorista;
}
public String getDatanascimentoMotorista() {
return datanascimentoMotorista;
}
public void setDataNascimentoMotorista(String datanascimentoMotorista) {
this.datanascimentoMotorista = datanascimentoMotorista;
}
public String getNomeMotorista() {
return nomeMotorista;
}
public void setNomeMotorista(String nomeMotorista) {
this.nomeMotorista = nomeMotorista;
}
public String getRgMotorista() {
return rgMotorista;
}
public void setRgMotorista(String rgMotorista) {
this.rgMotorista = rgMotorista;
}
@Override
public String toString(){
return this.getNomeMotorista();
}
}