Olá pessoal, estou com o seguinte problema, criei um arquivo texto e salvo algumas informações nele, porém quando posteriormente executo o sistema e salvo outras informações, as informações que foram salvas anteriormente são sobrescrica pelas novas, como faço para resolver este problema :?: :?: :?: :?: :?:
Adicionar linhas ao arquivo texto
6 Respostas
Qual classe vc está usando para escrever no arquivo? A classe PrintWriter, por exemplo, aceita como segundo parâmetro um boolean que deve ser passado como true para fazer o que vc gostaria.
Você chamou o close() ou o flush() do teu *Writer para gravar o arquivo no disco?
close()
levimendes o que esta acontecendo provavelmente é o seguinte:
Na hora que vc instancia um objeto FileWriter dessa forma:
fileWriter = new FileWriter(this.file, true); // você nao colocou true no segundo argumento, esse true e para o append...
Outra possível solução:
Faça a leitura total do arquivo guardando isso em um ArrayList de String, cada linha em um índice, posteriormente quando quiser escrever novas informações, escreva o seu ArrayList (crie um for para percorrer o tamanho do ArrayList , size()) + as novas informações.
Outra possível solução:
Faça a leitura total do arquivo guardando isso em um ArrayList de String, cada linha em um índice, posteriormente quando quiser escrever novas informações, escreva o seu ArrayList (crie um for para percorrer o tamanho do ArrayList , size()) + as novas informações.
É uma possível solução, mas o problema nessa caso é o desempenho (ler todo o arquivo, armazená-lo em um ArrayList, adicionar novos dados e escrever tudo de novo no arquivo). O método com o append de Writer é mais simples.