我通过互联网研究了这个错误 . 我找出了这个错误导致我的原因 . 但在我的特殊情况下它是不同的 . 我不知道如何解决它 .

我们的系统每个特定时间都会导出一些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;

fatalError:捕获异常org.xml.sax.SAXParseException; lineNumber:1; columnNumber:1;文件过早结束 . at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)at com.sun.org com.sun.org.apache.erport错误(未知来源)com.sun.org.apache . 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl的.impl.XMLScanner.reportFatalError(未知来源)com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl中的PrologDriver.next(未知来源) .next(未知来源)位于com.sun.org.apache上的com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(未知来源) . 未知来源 . (未知来源) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)at at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(未知来源)位于javax.xml.parsers的com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(未知来源) . DocumentBuilder.parse(未知来源)