Android 正确终止SaxParser的流,避免;意外的文件结尾“;例外
我和Android上引用的问题一样 给出的解决方案是使用URI而不是inputstream 我相信您可以像API所指示的那样使用inputStream,但显然,使用parse方法引发异常的流有问题。我可以确认所有数据都将进入流,SAXParseException表示所有数据都将进入parse方法,因为我可以使用getColumnNumber方法,该方法返回-1(表示整个流已被读取)。但是,解析方法似乎没有确认这是流的结束,因此引发了“意外的文件结束”(?)Android 正确终止SaxParser的流,避免;意外的文件结尾“;例外,android,xml,saxparser,saxparseexception,Android,Xml,Saxparser,Saxparseexception,我和Android上引用的问题一样 给出的解决方案是使用URI而不是inputstream 我相信您可以像API所指示的那样使用inputStream,但显然,使用parse方法引发异常的流有问题。我可以确认所有数据都将进入流,SAXParseException表示所有数据都将进入parse方法,因为我可以使用getColumnNumber方法,该方法返回-1(表示整个流已被读取)。但是,解析方法似乎没有确认这是流的结束,因此引发了“意外的文件结束”(?) 有人能建议如何使用inputstrea
有人能建议如何使用inputstream而不是URI作为解析方法的输入吗?我遇到了这个问题,但原因是我接受了错误编码格式的inputstream。请确保首先将其放入正确的编码中(可能通过将其作为字节[]读入并使用字符串(字节[],字符串)构造函数),然后尝试将其放入SAX解析器
如果您想在Android中解析XML,可能最好使用。最常用的设置是“UTF8”吗?你用了哪一个?我正在寻找inputstreamreader接受的字符集列表。这个链接是正确的来源吗?Thnx。我添加了这样的编码,InputStream=newbyteArrayInputStream(sData.getBytes(“UTF-8”);它成功了。然而,我确实不得不省略ByTestStream中列出的一个内部模式,也就是说,很高兴这有帮助,这是一个奇怪的问题,我认为我遗漏了一些东西,导致了这种情况的发生。无论是哪种方式,我认为在将原始数据传递给解析器之前,最好选择安全的编码格式。