gpt4 book ai didi

Java 斯塔克斯 : Invalid byte 2 of 3-byte UTF-8 sequence

转载 作者:行者123 更新时间:2023-12-02 08:47:20 27 4
gpt4 key购买 nike

我尝试使用 stax 解析 xml,但得到的错误是:

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[8,64]
Message: Invalid byte 2 of 3-byte UTF-8 sequence.

我已经尝试过查找它,但找不到解决方案。我必须解析它的代码是:

public List<Vild> getVildData(File file){
XMLInputFactory factory = XMLInputFactory.newFactory();
try {
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(Files.readAllBytes(file.toPath()));
XMLStreamReader reader = factory.createXMLStreamReader(byteArrayInputStream);
List<Vild> vild = saveVild(reader);
reader.close();
return vild;
} catch (IOException e) {
e.printStackTrace();
} catch (XMLStreamException e) {
e.printStackTrace();
}
return Collections.emptyList();
}
private List<Vild> saveVild(XMLStreamReader streamReader) {
List<Vild> vildList = new ArrayList<>();
try{
Vild vild = new Vild();
while (streamReader.hasNext()) {
streamReader.next();
//Creating list with data
}
}catch(XMLStreamException | IllegalStateException ex) {
ex.printStackTrace();
}
return Collections.emptyList();
}

我已经尝试过以下在网上找到的方法:

XMLStreamReader reader = factory.createXMLStreamReader(byteArrayInputStream,"UTF-8");

但这没有用。有人知道这个问题的解决方案吗?

最佳答案

您的 XML 文件未采用 UTF-8 编码。尝试找出编码是什么。

例如,如果编码结果为“latín 1”,请在创建 xml 读取器时使用该编码:

XMLStreamReader reader = factory.createXMLStreamReader(byteArrayInputStream,"ISO8859-1")

关于Java 斯塔克斯 : Invalid byte 2 of 3-byte UTF-8 sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60990851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com