我在android上进行常规XML解析,很少遇到这种异常,并且仅在特定手机上会出现。尚未找到此问题的根源。有人知道这可能是什么原因吗?

    java.lang.ArrayIndexOutOfBoundsException: src.length=8192 srcPos=1 dst.length=8192 dstPos=0 length=-1
    at java.lang.System.arraycopy(Native Method)
    at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1489)
    at org.kxml2.io.KXmlParser.skip(KXmlParser.java:1574)
    at org.kxml2.io.KXmlParser.parseStartTag(KXmlParser.java:1049)
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:369)
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)

最佳答案

我也有类似的异常(exception)。就我而言,该xml已下载并保存到SD。当我打开文件时,我看到它照原样切出了“中间句子”。似乎下载文件时出错。在这种情况下,删除文件并重新下载解决了该问题,但是为了防止以后出现相同类型的问题,我在读取xml时检查ArrayIndexOutOfBoundsException,并假定在捕获到该文件时该文件已损坏。

显然,这只是目前解决一个模糊问题的简单方法。如果我想出更多的办法,我将更新答案。

08-18 16:37