3
respostas

[Dúvida] NullPointerException

Olá! Estou enfrentando erro de NullPointerException no Buffered Reader. Eu deixei o meu igualzinho o do instrutor. Ele consegue fazer a importação e eu não estou conseguindo. Alguém pode me auxiliar? Tirando a linha que declara o BufferedReader reader como null, o código pára de compilar e deixando o código dá essa exceção. Não sei o que fazer.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Olá, João! Tudo bem?

O erro de NullPointerException ocorre porque a variável reader está sendo declarada como null e não está recebendo um valor antes de ser utilizada no método readLine(). Isso acontece porque, inicialmente, atribuímos null à variável reader e, em seguida, tentamos atribuir um valor a ela usando new BufferedReader(new FileReader(nomeArquivo)). No entanto, se ocorrer algum erro ao carregar o arquivo, a atribuição não será feita e reader continuará sendo null.

Para solucionar esse problema, peço que verifique se o arquivo foi carregado corretamente antes de utilizar o reader.

Espero que essa explicação tenha ficado mais clara para você. Se tiver mais alguma dúvida, estou à disposição para ajudar.

Caso surja alguma dúvida, não hesite em compartilhar no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá Monalisa. Muito obrigado pelo retorno. Eu entendi toda sua explicação, mas analisando o código ele está igual o do instrutor. Então não consigo compreender porque está gerando esse erro. Ele rodou o programa dele tranquilamente. Não houve esse problema do NullPointerException.

A variável nome arquivo está declarada corretamente:

String nomeArquivo = new Scanner(System.in).nextLine();

O método também segue conforme o do instrutor:

BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(nomeArquivo)); } catch (IOException e) { System.out.println("Erro ao carregar o arquivo: " +nomeArquivo);

    }
    String line;
    while ((line = reader.readLine()) != null) {
        String[] campos = line.split(",");
        String tipo = campos[0];
        String nome = campos[1];
        String raca = campos[2];
        int idade = Integer.parseInt(campos[3]);
        String cor = campos[4];
        Float peso = Float.parseFloat(campos[5]);

        Pet pet = new Pet(tipo, nome, raca, idade, cor, peso);
        

//Está tudo conforme o projeto do instrutor e não consigo consertar :(

Mesmo erro aqui.