Bom dia a Todos,
Estou tentando ler um arquivo .CSV e gravar no meu banco de dados usando JPA - Hibernate, mas ao rodar o programa aparece a seguinte exceção NullPointerException.
Gostaria que me ajudassem a entender o por que pois aparentemente a list que quero gravar contem os dados não deveria estar aparecendo NullPointerException.
Segue código:
public class LeitorArquivo {
public static void main(String[] args) {
LeitorArquivo ler = new LeitorArquivo();
ler.leituraCSV();
}
private String nomeCandidato;
private String partido;
private int votos;
private double porcentagem;
private CandidatosRepository repository;
public void leituraCSV() {
File arquivoCSV = new File("C:\\Users\\steve\\documents\\eleicoes2018.csv");
System.out.println("file : " + arquivoCSV.getAbsoluteFile());
System.out.println(" path : " + arquivoCSV.getAbsolutePath());
try {
Scanner leitor = new Scanner(arquivoCSV);
String linhasDoArquivo = new String();
while (leitor.hasNext()) {
linhasDoArquivo = leitor.nextLine();
String[] candidatosArray = linhasDoArquivo.split(";");
for (int i = 0; i < candidatosArray.length; i++) {
System.out.println(candidatosArray[i]);
nomeCandidato = candidatosArray[0];
partido = candidatosArray[1];
votos = Integer.parseInt(candidatosArray[2]);
porcentagem = Double.parseDouble(candidatosArray[3]);
if (i == 3) {
Candidatos candidatosList = new Candidatos(nomeCandidato, partido, votos, porcentagem);
System.out.println(candidatosList);
repository.save(candidatosList);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Segue o retorno de quando rodo o código:
file : C:\Users\steve\documents\eleicoes2018.csv
path : C:\Users\steve\documents\eleicoes2018.csv
Eymael
DC
41710
0.04
br.com.willame.eleicao2018.models.Candidatos@4554617c
java.lang.NullPointerException
at br.com.willame.eleicao2018.service.LeitorArquivo.leituraCSV(LeitorArquivo.java:66)
at br.com.willame.eleicao2018.service.LeitorArquivo.main(LeitorArquivo.java:23)