Erro em ler arquivo

2 respostas
N

Ola pessoal criei a classe abaixo para persistir dados num arquivo txt

public class Persistencia {
        BufferedWriter out;
        PrintWriter print;
        FileInputStream in;
        BufferedInputStream bufferIn;
        File clientes = new File("clientes.txt");
        String novaLinha = System.getProperty("line.separator");

    public Persistencia() {
    }
    public void salvarCliente(Cliente cliente){

        String clienteStr = "";
        
        try {
            out = new BufferedWriter(new FileWriter(clientes));
            print = new PrintWriter(out);
            
            BufferedReader br = new BufferedReader(new FileReader(clientes));
            String linha;
            try {
                while ((linha = br.readLine())!= null) {
                    clienteStr += linha + "\n";
                }
                br.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            
            clienteStr += cliente.getNome() + " ; " + cliente.getCpf() + " ; " + cliente.getTelefone() + " ; " + cliente.getEndereco();
            print.write(clienteStr);
            print.close();
            
            try {
                out.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

Mais curiosamente o comando: br.readLine() na linha 22 está retornando [color=blue]null [/color] mesmo o arquivo tendo dados já salvos, com isso eu fico sobrescrevendo o arquivo toda hora.
Alguém consegue dizer porque? será algum erro nos métodos e classe que eu estou usando para salvar no txt?

Desde já obrigado pela ajuda de todos.

2 Respostas

Lucas182

Hmm, Tenta ler a linha antes do while…

N

Eu fiz isso, li a linha antes do while e ai dei um print nela, mas realmente tá ficando null mesmo :?

Criado 30 de maio de 2010
Ultima resposta 30 de mai. de 2010
Respostas 2
Participantes 2