Java 使用SAX分析超过2 GB的XML文件:异常:内部错误:fPreviousChunk==NULL

Java 使用SAX分析超过2 GB的XML文件:异常:内部错误:fPreviousChunk==NULL,java,xml-parsing,saxparser,Java,Xml Parsing,Saxparser,我们在解析一个2GB XML文件时遇到以下异常,我们发现,这是apache的一个已知问题。解析大型XML的其他可用选项有哪些 java.lang.RuntimeException: Internal Error: fPreviousChunk == NULL at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094) at javax.xml.parsers.SAXParser.parse(SAXParser.java:

我们在解析一个2GB XML文件时遇到以下异常,我们发现,这是apache的一个已知问题。解析大型XML的其他可用选项有哪些

java.lang.RuntimeException: Internal Error: fPreviousChunk == NULL
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:223)
Sax版本是 2009 xercesImpl-2.2.1.jar 2009 xerces.jar

斯塔克斯呢?DOM与流媒体

参考资料

那么,我们可以假设以下情况吗? SAX解析器不会处理超过2GB大小的文件。 对还是错


谢谢

今天,我也遇到了这个问题。下面是我如何解决的。首先,我在Xerces版本1.2.3中发现了这个错误弹出窗口。所以我尝试升级到1.4.4,这是版本1的最新版本。但是,当解析大约80000条记录时,它会弹出此错误。后来,我刚刚删除了这个依赖项,这意味着它将与JDK一起使用Xerces捆绑包。它是有效的。所以根本原因是过时的xerces库。

您尝试过jdk附带的sax解析器吗?我没有得到;什么意思?我们正在使用的jar如下:Sax版本是2009 xercesImpl-2.2.1.jar 2009 xerces.jar Thanksjava已经配备了Sax解析器。我想知道您是否尝试过使用它而不是xercesImpl的特定版本?如果您有一个Apache错误报告说它不工作,并且该错误报告也说“已修复”,那么是的,可以安全地假设Xerces SAX解析器不会处理大于2GB的文件(我说“如果”,因为您没有实际链接到错误报告).至于StAX:我用它读写了几十GB的文件。