Error en java
Publicado por Claudia (13 intervenciones) el 14/03/2023 20:58:30
Hola soy nueva en java y estoy ejecutando mi primer programa pero me aparece el siguiente error que no puedo sacar...
Exception in thread "main" java.lang.NullPointerException
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:158)
at PruebaRep.Main.main(Main.java:57)
Aca esta el programa...
package PruebaRep;
//import DT.Detalle;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
//PDF
//import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.security.Principal;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import PruebaRep.DetalleDatasource;
import static com.itextpdf.text.pdf.Barcode128.Barcode128CodeSet.C;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
/**
*
* @author czavala
*/
public class Main {
public static void main(String[] args) throws ParserConfigurationException, SAXException, DocumentException, JRException
{
try {
//Report
JasperReport jr = (JasperReport) JRLoader.loadObject(Principal.class.getResource("C\\Users\\czavala\\Documents\\NetBeansProjects\\JavaApplication1\\src\\PruebaRep\\reporte1.jasper"));
Map parametros = new HashMap<String, Object>();
// Datasource
DetalleDatasource datasource = new DetalleDatasource();
File file = new File("C\\Users\\czavala\\Documents\\NetBeansProjects\\JavaApplication1\\Fact.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(file);
document.getDocumentElement().normalize();
System.out.println("Elemento raiz: " + document.getDocumentElement().getNodeName());
NodeList nList = document.getElementsByTagName("EnvioDTE");
System.out.println("Contenido del documento: ");
System.out.println();
for (int i = 0; i < nList.getLength(); i++) {
Node list = nList.item(i);
System.out.println("Nombre elemento actual: " + list.getNodeName());
if (list.getNodeType() == Node.ELEMENT_NODE ) {
Element element = (Element) list;
System.out.println("xmlns: " + element.getAttribute("xmlns"));
System.out.println("Rut Emisor: " + element.getElementsByTagName("RutEmisor").item(0).getTextContent());
System.out.println("Folio: " + element.getElementsByTagName("Folio").item(0).getTextContent());
System.out.println("Fecha: " + element.getElementsByTagName("FchEmis").item(0).getTextContent());
//Report
//Report
//PDF
// Phrase p = new Phrase(element.getElementsByTagName("RutEmisor").item(0).getTextContent(), FontFactory.getFont("Arial", 12));
// docpdf.add(p);
// PDF
}
// leer detalle
NodeList nDet = document.getElementsByTagName("Detalle");
System.out.println("Contenido del detalle: ");
// Metodo detalle ireport
List deta = new LinkedList();
String arrayDet[];
arrayDet = new String[10];
for (int x = 0; i < nDet.getLength(); x++) {
Node det = nDet.item(x);
if (list.getNodeType() == Node.ELEMENT_NODE ) {
Element eleDet = (Element) det;
System.out.println("Linea: " + eleDet.getElementsByTagName("NroLinDet").item(0).getTextContent());
arrayDet[1] = eleDet.getElementsByTagName("NroLinDet").item(0).getTextContent();
System.out.println("Descripción: " + eleDet.getElementsByTagName("NmbItem").item(0).getTextContent());
System.out.println("Monto: " + eleDet.getElementsByTagName("MontoItem").item(0).getTextContent());
System.out.println();
Detalle Det;
Det = new Detalle(eleDet.getElementsByTagName("NroLinDet").item(0).getTextContent() +x, eleDet.getElementsByTagName("NmbItem").item(0).getTextContent() +x, eleDet.getElementsByTagName("MontoItem").item(0).getTextContent() +x);
datasource.addDetalle(Det);
}
}
// parametros.put("Nro_Fac", element.getElementsByTagName("Folio").item(0).getTextContent());
//JasperPrint jp = JasperFillManager.fillReport(jr,parametros, new JREmptyDataSource());
JasperPrint jp = JasperFillManager.fillReport(jr, null, datasource);
JasperViewer jv = new JasperViewer(jp);
jv.show();
//PDF
// docpdf.close();
//PDF
}
}
catch(IOException e) {
System.err.println("Error: "+ e.getMessage());
}
}
}
Exception in thread "main" java.lang.NullPointerException
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:158)
at PruebaRep.Main.main(Main.java:57)
Aca esta el programa...
package PruebaRep;
//import DT.Detalle;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
//import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.security.Principal;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import PruebaRep.DetalleDatasource;
import static com.itextpdf.text.pdf.Barcode128.Barcode128CodeSet.C;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
/**
*
* @author czavala
*/
public class Main {
public static void main(String[] args) throws ParserConfigurationException, SAXException, DocumentException, JRException
{
try {
//Report
JasperReport jr = (JasperReport) JRLoader.loadObject(Principal.class.getResource("C\\Users\\czavala\\Documents\\NetBeansProjects\\JavaApplication1\\src\\PruebaRep\\reporte1.jasper"));
Map parametros = new HashMap<String, Object>();
// Datasource
DetalleDatasource datasource = new DetalleDatasource();
File file = new File("C\\Users\\czavala\\Documents\\NetBeansProjects\\JavaApplication1\\Fact.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(file);
document.getDocumentElement().normalize();
System.out.println("Elemento raiz: " + document.getDocumentElement().getNodeName());
NodeList nList = document.getElementsByTagName("EnvioDTE");
System.out.println("Contenido del documento: ");
System.out.println();
for (int i = 0; i < nList.getLength(); i++) {
Node list = nList.item(i);
System.out.println("Nombre elemento actual: " + list.getNodeName());
if (list.getNodeType() == Node.ELEMENT_NODE ) {
Element element = (Element) list;
System.out.println("xmlns: " + element.getAttribute("xmlns"));
System.out.println("Rut Emisor: " + element.getElementsByTagName("RutEmisor").item(0).getTextContent());
System.out.println("Folio: " + element.getElementsByTagName("Folio").item(0).getTextContent());
System.out.println("Fecha: " + element.getElementsByTagName("FchEmis").item(0).getTextContent());
//Report
//Report
// Phrase p = new Phrase(element.getElementsByTagName("RutEmisor").item(0).getTextContent(), FontFactory.getFont("Arial", 12));
// docpdf.add(p);
}
// leer detalle
NodeList nDet = document.getElementsByTagName("Detalle");
System.out.println("Contenido del detalle: ");
// Metodo detalle ireport
List deta = new LinkedList();
String arrayDet[];
arrayDet = new String[10];
for (int x = 0; i < nDet.getLength(); x++) {
Node det = nDet.item(x);
if (list.getNodeType() == Node.ELEMENT_NODE ) {
Element eleDet = (Element) det;
System.out.println("Linea: " + eleDet.getElementsByTagName("NroLinDet").item(0).getTextContent());
arrayDet[1] = eleDet.getElementsByTagName("NroLinDet").item(0).getTextContent();
System.out.println("Descripción: " + eleDet.getElementsByTagName("NmbItem").item(0).getTextContent());
System.out.println("Monto: " + eleDet.getElementsByTagName("MontoItem").item(0).getTextContent());
System.out.println();
Detalle Det;
Det = new Detalle(eleDet.getElementsByTagName("NroLinDet").item(0).getTextContent() +x, eleDet.getElementsByTagName("NmbItem").item(0).getTextContent() +x, eleDet.getElementsByTagName("MontoItem").item(0).getTextContent() +x);
datasource.addDetalle(Det);
}
}
// parametros.put("Nro_Fac", element.getElementsByTagName("Folio").item(0).getTextContent());
//JasperPrint jp = JasperFillManager.fillReport(jr,parametros, new JREmptyDataSource());
JasperPrint jp = JasperFillManager.fillReport(jr, null, datasource);
JasperViewer jv = new JasperViewer(jp);
jv.show();
// docpdf.close();
}
}
catch(IOException e) {
System.err.println("Error: "+ e.getMessage());
}
}
}
Valora esta pregunta
0