Gerar arquivo .csv [RESOLVIDO]

Amigos,
estou lendo e escrevendo m arquivo .csv mas tenho que ler uma determinada String que vem no conteudo do arquivo e a partir dela eliminar o resto do arquivo.

como posso fazer isso ?

String file = "C:\\TMP\\repBoletos\\entrada.csv";
StringBuilder bufSaida = new StringBuilder();
            
try {
    BufferedWriter StrW = new BufferedWriter(new FileWriter("C:\\TMP\\repBoletos\\saida.csv"));
    BufferedReader br = new BufferedReader(new FileReader(file));
    String linha;

    while( (linha = br.readLine()) != null ){
        bufSaida.append(linha).append("\n");
    }

    StrW.write(bufSaida.append(linha).append("\n").toString());
    StrW.close();
    br.close();

Amigo, em geral, os arquivos csv tem um delimitador de campo. Costumo usar “;” ponto e vírgula.

Se o seu arquivo de origem tem isso, você pode fazer um split pelo ; armazenando o resultado em um String[]. Assim, você pode construir uma método para restorna um objeto construindo passando essa String[].

ex:

public Pessoa construirPessoa(String[] linha){
Pessoa pessoaUnit = new Pessoa();
pessoa.setNome(linha[0]);
pessoa.setIdade(linha[0]);
pessoa.setSexo(linha[0]);

return pessoaUnit;
} 

Lembrando que existe a necessidade de colocar alguns mecanismos de proteção para receber valores nulos.

O mesmo pode ser utilizada para construir. Fazer o inverso.

1 curtida

Felipescabral,

muito obrigado pela sua resposta, mas eu acabei resolvendo com o código abaixo

identar texto pre-formatado em 4 espaços
while( (linha = br.readLine()) != null ){
bufSaida.append(linha + “; " + dataMovimento).append(”\n");

                if(linha.trim() != null){
                    if(linha.trim().equals("BOLETOS")){
                        break;
                    }
                }
            }

identar texto pre-formatado em 4 espaços

eu identifiquei a String “BOLETOS” no meu loop e fiz um break para não continuar escrevendo o arquivo…