Escrever o arquivo sem substituir o texto anterior [ajuda]

1 resposta
java
R

olá pessoal ,estava programando um sistema de cadastro e leitura em arquivos de texto
más ao ler ele eu encontro 2 erros
depois de ler o arquivo anterior mais quando eu vou escrever a 1° linha fica null e a segunda o texto que eu escrevi(novo)
veja:

try{
            FileInputStream leitor = new FileInputStream(arquivo);
            InputStreamReader input = new InputStreamReader(leitor);
            BufferedReader br = new BufferedReader(input);
            String lines;
            
            do{
                lines = br.readLine();
                if (lines!=null){
                    System.out.println(lines);
                }
            }while(lines !=null);
            
            FileOutputStream leitor2 = new FileOutputStream(arquivo);
            PrintWriter writer = new PrintWriter(leitor2);
            writer.println(text);
            writer.close();
            System.out.println(text + " cadastrado com sucesso");
        }catch(Exception error){System.out.println("Erro ao escrever o arquivo\n[error]\n" + error.getMessage());}

me desculpem , é que sou iniciante " , obrigado

1 Resposta

R

Tenta passar o parâmetro true no construtor de PrintWriter(). Ele habilita o processo para não apagar o conteúdo anterior já existente no arquivo. Por padrão ele é false, por isso, apaga o conteúdo já existente no arquivo na segunda execução.

PrintWriter writer = new PrintWriter(leitor2, true);

Qualquer coisa da uma olhada nesse tutorial Manipulando Arquivo Txt com Java

Criado 2 de fevereiro de 2016
Ultima resposta 4 de fev. de 2016
Respostas 1
Participantes 2