消息:hadoop 中 1 字节 UTF-8 序列的字节 1 无效
Posted
技术标签:
【中文标题】消息:hadoop 中 1 字节 UTF-8 序列的字节 1 无效【英文标题】:Message: Invalid byte 1 of 1-byte UTF-8 sequence in hadoop 【发布时间】:2013-12-10 06:51:15 【问题描述】:我正在使用 Hadoop 解析 XML,我从 here 获得代码。
但我收到以下错误:
FINISH_TIME="1385387129970" HOSTNAME="DEV140" 错误=“java.io.IOException:javax.xml.stream.XMLStreamException: ParseError at [row,col]:[18,3] 消息:1 字节 UTF-8 的字节 1 无效 顺序。
但我的 XML 仅使用 UTF-8 编码。那我该如何处理呢?
【问题讨论】:
【参考方案1】:我怀疑这是问题 - 至少是一个问题:
XMLStreamReader reader =
XMLInputFactory.newInstance().createXMLStreamReader(new
ByteArrayInputStream(document.getBytes()));
对getBytes
的调用将使用平台默认编码,而不是UTF-8。
您可以指定 "utf-8"
作为编码名称 - 但创建 StringReader
会更简单:
XMLStreamReader reader = XMLInputFactory.newInstance()
.createXMLStreamReader(new StringReader(document));
当然,这可能不是唯一的错误,但至少值得一看。
【讨论】:
@Backtrack 我们不会让 Jon Skeet 知道。他是对的。如果您的程序在您尝试后无法运行,则说明您的计算机存在错误。 谢谢乔恩·斯基特先生……你真的救了我的命……非常感谢 @MarounMaroun - 我讽刺地发表了该评论。我生气 。不过非常感谢以上是关于消息:hadoop 中 1 字节 UTF-8 序列的字节 1 无效的主要内容,如果未能解决你的问题,请参考以下文章