[Resolvido] problema com java.lang.NullPointerException, utilizando ArrayList

5 respostas
NewAge

Estou com problema de java.lang.NullPointerException
e nao estou conseguindo resolver

Estou tentando passar as linhas de um arquivo texto, para um ArrayList porém existe um especificação quanto ao que a linha representa.

public LerArquivo() {
        File dir = new File("C:\\");
        File arq = new File("proj.txt");
        try {
            //Indicamos o arquivo que será lido
            FileReader fRead = new FileReader(arq);
            //Criamos o objeto bufferReader que nos
            // oferece o método de leitura readLine()
            BufferedReader bRead = new BufferedReader(fRead);
            //String que irá receber cada linha do arquivo
            String linha = "";
            while ((linha = bRead.readLine()) != null) {
                Lines.add(linha);  //Array List com Todas as Linhas
            }
            Ncadeias = Integer.parseInt(Lines.get(0));
            for (i = 2; i <= Ncadeias + 1; i++) {
                 Cadeia[i-1] = Lines.get(i-1);                                  // Ocorre java.lang.NullPointerException provavelmente nesta Linha  :( 
            }

            NPadroes = Integer.parseInt(Lines.get(Ncadeias + 2));

            for (i = Ncadeias + 3; i <= Lines.size(); i++) {
                for (j = 1; j <= NPadroes; j++) {
                    Padrao[j] = Lines.get(i);
                }
            }

5 Respostas

R

Onde esta sendo declarado sua variavel Cadeia ?

NewAge
rof20004:
Onde esta sendo declarado sua variavel Cadeia ?

Esta sendo declarada como variável global, postei apenas o construtor da classe, mas aqui é o inico da mesma

public class LerArquivo {      //permite ao usuario abrir o arquivo

    int i, j;
    int Ncadeias;
    String[] Cadeia;
    int NPadroes;
    String[] Padrao;
    String[] Line;
    ArrayList<String> Lines = new ArrayList<String>();

    public LerArquivo() {. . .
Fexx

Você inicializou o array Cadeia ?

NewAge

Muito Obrigado!

erro simples… um ano e meio sem programar nada,gera essas desatenções !!

Fexx

É assim mesmo cara, até quem programa todos os dias isso é capaz de acontecer.

Já que está voltando a programar, tente utilizar o padrão de nomenclatura do java, o camel-case, pois nas variáveis declaradas com letra maiúsculas temos que visualizar as declarações para ver que não são classes.

Abraços.

Fica com DEUS.

Criado 5 de abril de 2013
Ultima resposta 5 de abr. de 2013
Respostas 5
Participantes 3