【问题标题】:Message: Invalid byte 1 of 1-byte UTF-8 sequence in hadoop消息:hadoop 中 1 字节 UTF-8 序列的字节 1 无效
【发布时间】: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 编码。那我该如何处理呢?

【问题讨论】:

    标签: java xml hadoop


    【解决方案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 - 我讽刺地发表了该评论。我生气 。不过非常感谢
    猜你喜欢
    • 2018-04-10
    • 2018-12-26
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 2010-11-22
    相关资源
    最近更新 更多