I am doing data import through txt file, and packed in that class which has two attributes of type object, vendor and product. When I read the txt file, I pass as a parameter only the code of the same ones, and I try to check the list if they exist, and if yes I add them as an attribute.
But unlike the other import methods I've done before, it's not adding any way.
The Catch exception gives me the following error:
Excessao : java.lang.NullPointerException
Exception in thread "main" java.lang.NullPointerException
at Sistema.Importa.main(Importa.java:113) \* obj.getFornecedor().setCodigo(codigoF); é a linha removida com comentário
follows the method code
public static void main(String[] args) {
File arquivo = new File("C:\Users\itach\Desktop\RegistroCompras.txt");
try{
Scanner scanner = new Scanner(arquivo);
DaoContasPagar dao = new DaoContasPagar();
while(scanner.hasNextLine()){
String s[];
s=(scanner.nextLine().split(";"));
CompraDeProdutos obj = new CompraDeProdutos();
int numeronf = Integer.parseInt(s[0]);
obj.setNotaFiscal(numeronf);
int codigoF=Integer.parseInt(s[1]);
obj.getFornecedor().setCodigo(codigoF); \* removi essa linha
for(Fornecedor lista : Dados.listaFornecedores){
if(lista.getCodigo()==codigoF){
obj.setFornecedor(lista);
}
else
{
System.out.println("fornecedor nao existe");
}
}
obj.setData(s[2]);
int codigoP= Integer.parseInt(s[3]);
for(Produto lista : Dados.listaProdutos){
if(lista.getCodigo()==codigoP){
obj.setProduto(lista);
}
else
{
System.out.println("fornecedor nao existe");
}
}
int quantidade=Integer.parseInt(s[4]);
obj.setQuantidade(quantidade);
dao.NovaCompra(obj);
}
}
catch(Exception e){
}
}
and the class from which I'm generating a new object, with the imported data.
public class CompraDeProdutos {
private int notaFiscal;
private Produto produto;
private String data;
private Fornecedor fornecedor;
private int quantidade;
private double totalApagar;
public List <Produto> getLista(){
return Dados.listaProdutos;
}
public CompraDeProdutos(int notaFiscal, Produto produto, String data, Fornecedor fornecedor, int quantidade, double totalApagar) {
this.notaFiscal = notaFiscal;
this.produto = produto;
this.data = data;
this.fornecedor = fornecedor;
this.quantidade = quantidade;
this.totalApagar = totalApagar;
}
public int getNotaFiscal() {
return notaFiscal;
}
public void setNotaFiscal(int notaFiscal) {
this.notaFiscal = notaFiscal;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public double getTotalApagar() {
return totalApagar;
}
public void setTotalApagar(int totalApagar) {
this.totalApagar = totalApagar;
}
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor =fornecedor;
}
public CompraDeProdutos() {
}
public int getQuantidade() {
return quantidade;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
@Override
public String toString() {
return "" + getNotaFiscal() + ";" +getFornecedor().getCodigo()+";" + getData() + ";" + getProduto()+ ";" + getQuantidade() + ";"+getTotalApagar()+";";
}
@Override
public int hashCode() {
int hash = 3;
hash = 11 * hash + this.notaFiscal;
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final CompraDeProdutos other = (CompraDeProdutos) obj;
if (this.notaFiscal != other.notaFiscal) {
return false;
}
return true;
}
}