0

我在互联网上研究了这个错误。我找出了这个错误导致我的原因。但在我的特殊情况下,情况有所不同。我不知道如何解决它。

我们的系统每次都会导出一些 xml。所以我认为当它生成时,我的程序在那个时间运行,然后它会导致这个错误。

我该如何解决这个问题?

FileInputStream fis=null;
File fXmlFile = new File(file);             
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
dBuilder.setErrorHandler(new ErrorHandler() {    
    @Override
    public void warning(SAXParseException exception) throws SAXException {
        System.err.println("warning: caught exception");
        exception.printStackTrace(System.err);
    }

    @Override
    public void fatalError(SAXParseException exception) throws SAXException {
        System.err.println("fatalError: caught exception");
        exception.printStackTrace(System.err);
    }

    @Override
    public void error(SAXParseException exception) throws SAXException {
        System.err.println("error: caught exception");
        exception.printStackTrace(System.err);
    }
});
fis = new FileInputStream(fXmlFile);
org.w3c.dom.Document doc = dBuilder.parse(fis);
fis.close();
doc.getDocumentElement().normalize();           
return doc;

致命错误:捕获异常 org.xml.sax.SAXParseException;行号:1;列号:1;文件过早结束。在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) 在 com.sun.org .apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal .impl.XMLScanner.reportFatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl .next(未知来源),位于 com.sun.org.apache.xerces.internal.impl。

4

0 回答 0