Estou tentando atualizar um arraylist que lê um TXT, quando inicio o programa ele chama o metodo e lê tranquilo mas quando salvo uma nova linha quando peço para listar novamente ele continua com a lista anterior e mais a nova lista
public class Inicio extends javax.swing.JFrame {
private List<Relogio> lista = new ArrayList<>();
private Relogio relogio = new Relogio();
private acessarBD acesso = new acessarBD();
public Inicio() {
initComponents();
lista = acesso.ler();
}
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
String entradaTF = jTextFieldEntrada.getText();
String saidaAlmTF = jTextFieldSaidaAlmoco.getText();
String retornoAlmTF = jTextFieldRetornoAlmoco.getText();
String saidaTF = jTextFieldSaida.getText();
String dataTF = jTextFieldData.getText();
List<Integer> horarioMinutos = relogio.tramsformaMinuto(entradaTF, saidaAlmTF, retornoAlmTF, saidaTF);
List<Integer> horarioCalculado = relogio.calculaCargaHorario(horarioMinutos);
List<String> diaria = relogio.formataTempo(horarioCalculado);
try {
acesso.inserir(horarioMinutos.get(0), horarioMinutos.get(1), horarioMinutos.get(2), horarioMinutos.get(3), horarioCalculado.get(0), horarioCalculado.get(2), dataTF);
System.out.println("Salvo");
} catch (IOException ex) {
Logger.getLogger(Inicio.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButtonListarActionPerformed(java.awt.event.ActionEvent evt) {
if(lista.isEmpty()){
System.out.println("Zerado");
}
System.out.println("Tamanho da lista: " + lista.size());
for (int i = 0; i < lista.size(); i++) {
System.out.println(lista.get(i).getEntradaM() + "," + lista.get(i).getSaidaAlmocoM() + "," + lista.get(i).getRetornoAlmocoM() + "," + lista.get(i).getSaidaM() + "," + lista.get(i).getTempoTrabalhadoM() + "," + lista.get(i).getTempoRestanteM() + "," + lista.get(i).getData());
}
lista.clear();
}
Gostaria que quando eu iniciasse o programa, leria o TXT e salvasse no arraylist para eu manipular, depois se eu salvasse um novo dado o arraylist zeraria e chamava o metodo ler() da classe acessarBD() novamente para atualizar a minha lista.