Como ler e escrever csv com Java
Neste tutorial vou mostrar como ler e escrever csv com o Java.

Neste breve tutorial vou demonstrar como ler e escrever um arquivo csv com Java.
Neste post irei demonstrar como podemos é feito a leitura e escrita de dados em um arquivo csv usando apenas funções nativas do Java.
Para iniciar vamos importar as dependências que serão utilizadas:
import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;
Feito isto, vamos implementar começar a implementar o código responsável escrita dos dados no arquivo csv.
Segue abaixo como ficou o código:
import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CSVWriterExample { public static void main(String[] args) { String csvFile = "output.csv"; try (PrintWriterwriter= new PrintWriter(new FileWriter(csvFile))) { writer.println("Nome,Idade,Cidade"); writer.println("João,25,São Paulo"); writer.println("Maria,30,Rio de Janeiro"); writer.println("Pedro,28,Belo Horizonte"); System.out.println("Arquivo CSV criado com sucesso!"); } catch (IOException e) { e.printStackTrace(); } }}
Uma breve explicação do código acima:
- No código acima é definido primeiro o nome do aquivo que será gerado;
- Depois instancio a classe PrintWriter passando uma instância do FileWriter, para criar o arquivo onde será escrito os dados;
- Logo após é realizado a escrita das informações com a função (println) da classe (PrintWriter).
Ao rodar o código acima será gerado um arquivo csv (output.csv) com as informações passadas:
Nome,Idade,Cidade
João,25,São Paulo
Maria,30,Rio de Janeiro
Pedro,23,Minas Gerais
Segue abaixo um pequeno vídeo onde demonstro o processo e implementação do código usado no tutorial :
Agora vem a parte da leitura do arquivo que foi gerado, segue abaixo o código implementado para leitura do arquivo:
import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class CSVReaderExample { public static void main(String[] args) { String csvFile = "output.csv"; String line; String csvSeparator = ","; try (BufferedReader reader = new BufferedReader(new FileReader(csvFile))) { if ((line = reader.readLine()) != null) { System.out.println("Cabeçalho: " + line); } while ((line = reader.readLine()) != null) { String[] data = line.split(csvSeparator); String nome = data[0]; String idade = data[1]; String cidade = data[2]; System.out.println("Nome: " + nome + ", Idade: " + idade + ", Cidade: " + cidade); } } catch (IOException e) { e.printStackTrace(); } }}Uma breve explicação do código acima:
- No código acima é definido primeiro o nome do aquivo que será lido;
- Depois instancio a classe BufferedReader passando uma instância do FileReader, para ler arquivo csv;
- Logo após é realizo a leitura do arquivo percorrendo cada linha e exibindo as informações no terminal;
Quando executamos o código acima será exibido no terminal as informações abaixos:
Cabeçalho: Nome,Idade,CidadeNome: João, Idade: 25, Cidade: São PauloNome: Maria, Idade: 30, Cidade: Rio de JaneiroNome: Pedro, Idade: 23, Cidade: Minas Gerais
Deixo aqui um pequeno curto vídeo da implementação do código de leitura de arquivo csv:
Caso queira acompanhar todo o processo de desenvolvimento deixo abaixo o link para o vídeo no Youtube:
Abaixo segue link do Github com o código fonte que utilizei para implementação deste tutorial:
