Estou fazendo a leitura de um arquivo txt e nele preciso armazenar a leitura dos dados numa classe com os atributos, está fazendo a leitura e os métodos set e get estão funcionando, o problema é que quando vou executar o código, ele tá gerando null nos dados, alguém pode me ajudar ?
public static void main(String[] args) {
DecimalFormat conversaoNumero = new DecimalFormat("0.##");
ArrayList<Pessoa> pessoas = new ArrayList<Pessoa>();
// Declarando atributos
Double mensalidade;
String mensalidadeString;
int verificarLinhaZero = 0;
try {
// FilerReader: estou instanciando um objeto desta classe, para acessar o caminho do arquivo txt
FileReader arquivo = new FileReader("C:/Users/rodrigo/Desktop/aluno.txt");
// BufferedReader: estou instanciando um objeto desta classe, para ler o arquivo em txt
BufferedReader lerArquivo = new BufferedReader(arquivo);
// Ready verificando se existe texto dentro do arquivo
while (lerArquivo.ready()) {
// ReadLine vai ler somente a linha
String texto = lerArquivo.readLine();
String textoSplit[] = texto.split(";");
for (int posicaoVetor = 0; posicaoVetor < 4; posicaoVetor++) {
Pessoa p = new Pessoa();
if (posicaoVetor == 0) {
p.setMatricula(textoSplit[posicaoVetor]);
}
else if (posicaoVetor == 1) {
p.setNome(textoSplit[posicaoVetor]);
}
else if (posicaoVetor == 2) {
p.setCfp(textoSplit[posicaoVetor]);
}
else if (posicaoVetor == 3) {
mensalidade = 500 + (1235.80 - 500) * Math.random();
mensalidadeString = conversaoNumero.format(mensalidade);
p.setMensalidade(textoSplit[posicaoVetor] + mensalidadeString);
}
pessoas.add(p);
// System.out.print(p.getMatricula());
//+ p.getNome() + p.getMatricula() + p.getMensalidade());
// System.out.print(p.getNome());
//System.out.print(p.getCfp());
// System.out.println(p.getMensalidade());
}
for (int i = 0; i < pessoas.size(); i++) {
Pessoa p = new Pessoa();
p = pessoas.get(i);
System.out.println(p.getMatricula());
//p.getNome() + p.getCfp() + p.getMensalidade());
}
// System.out.print(textoSplit[0]);
//System.out.print(textoSplit[1]);
//System.out.print(textoSplit[2]);
//System.out.println(textoSplit[3]);
// classeAluno.dadosAluno.add(textoSplit[posicaoTexto]);
/*Irá verificar apenas a primeira linha da matriz, para não gerar valor da mensalidade na posição 3
Onde deve contém o texto mensalidade*/
//if (verificarLinhaZero != 0) {
// if (posicaoTexto == 3) {
// mensalidade = 500 + (1235.80 - 500) * Math.random();
// mensalidadeString = conversaoNumero.format(mensalidade);
// classeAluno.dadosAluno.add(textoSplit[posicaoTexto] = "R$ " + mensalidadeString);
// }
// }
// System.out.print(textoSplit[posicaoTexto] + " \t");
// System.out.print(classeAluno.dadosAluno.get(posicaoTexto) + " \t");
// verificarLinhaZero++;
// System.out.println("");
}
} catch (IOException e) {
System.out.println("Error ao ler o arquivo");
}
}
//// o código está saindo assim no programa
MATRICULA
null
null
null
MATRICULA
null
null
null
201800010
null
null
null
MATRICULA
null
null
null
201800010
null
null
null
201800020
null
null
null
MATRICULA