Error java.lang.NullPointerException
Boa tarde, Estou fazendo um trabalho da faculdade e travei em um erro
package controller;
import java.io.*;
import java.text.*;
import java.util.*;
import model.*;
public class LancamentoController {
public List<Lancamento> LerLancamentos() throws IOException, ParseException {
String ArquivoCSV = "C:\\\\Users\\\\Pedro Diniz\\\\Documents\\\\Faculdade\\\\2019\\\\Java\\\\Lançamentos.csv";
FileReader fr = new FileReader(ArquivoCSV);
BufferedReader br = new BufferedReader(fr);
List<Lancamento> lista = new ArrayList<Lancamento>();
StatusController sc = new StatusController();
List<Status> listStatus = sc.LerStatus();
String linha = br.readLine();
linha = br.readLine();
while(linha != null) {
Lancamento lanc = new Lancamento();
String[] dados = linha.split(";");
Chamado ch = new Chamado();
ch.ChamadoID = Integer.parseInt(dados[0]);
lanc.chamado = ch;
SimpleDateFormat Data = new SimpleDateFormat("dd/MM/yyyy");
lanc.DataLancamento = Data.parse(dados[1]);
for(int i = 0; i < listStatus.size(); i++ ) {
if(listStatus.get(i).StatusID == Integer.parseInt(dados[2])) {
lanc.status = listStatus.get(i);
}
}
lista.add(lanc);
linha = br.readLine();
}
br.close();
fr.close();
return lista;
}
}
Error é:
java.lang.NullPointerException
at controller.LancamentoController.LerLancamentos(LancamentoController.java:38)
at view.Main.main(Main.java:21)
Alguém poderia me ajudar?
Obrigado!
package controller;
import java.io.*;
import java.text.*;
import java.util.*;
import model.*;
public class LancamentoController {
public List<Lancamento> LerLancamentos() throws IOException, ParseException {
String ArquivoCSV = "C:\\\\Users\\\\Pedro Diniz\\\\Documents\\\\Faculdade\\\\2019\\\\Java\\\\Lançamentos.csv";
FileReader fr = new FileReader(ArquivoCSV);
BufferedReader br = new BufferedReader(fr);
List<Lancamento> lista = new ArrayList<Lancamento>();
StatusController sc = new StatusController();
List<Status> listStatus = sc.LerStatus();
String linha = br.readLine();
linha = br.readLine();
while(linha != null) {
Lancamento lanc = new Lancamento();
String[] dados = linha.split(";");
Chamado ch = new Chamado();
ch.ChamadoID = Integer.parseInt(dados[0]);
lanc.chamado = ch;
SimpleDateFormat Data = new SimpleDateFormat("dd/MM/yyyy");
lanc.DataLancamento = Data.parse(dados[1]);
for(int i = 0; i < listStatus.size(); i++ ) {
if(listStatus.get(i).StatusID == Integer.parseInt(dados[2])) {
lanc.status = listStatus.get(i);
}
}
lista.add(lanc);
linha = br.readLine();
}
br.close();
fr.close();
return lista;
}
}
Error é:
java.lang.NullPointerException
at controller.LancamentoController.LerLancamentos(LancamentoController.java:38)
at view.Main.main(Main.java:21)
Alguém poderia me ajudar?
Obrigado!
Pedro Diniz
Curtidas 0
Respostas
José Soares
16/04/2019
Provavelmente está dando erro aqui:
if(listStatus.get(i).StatusID == Integer.parseInt(dados[2])) {
Dá uma olhada na propriedade StatusID, é esse nome mesmo ? se tiver correto então o problema é que o statusID já está vindo nullo quando você chama esse trecho de código e aí da NullPointerException que é um erro que dá quando um objeto ou proprieade dele está null e você tenta acessar.
Qualquer novidade posta aqui, abraços!
if(listStatus.get(i).StatusID == Integer.parseInt(dados[2])) {
Dá uma olhada na propriedade StatusID, é esse nome mesmo ? se tiver correto então o problema é que o statusID já está vindo nullo quando você chama esse trecho de código e aí da NullPointerException que é um erro que dá quando um objeto ou proprieade dele está null e você tenta acessar.
Qualquer novidade posta aqui, abraços!
GOSTEI 0