有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java DataInputStream UTFDataFormatException:字节88周围的输入格式错误根本原因

在过去的两周里,我开始在我的web应用程序中看到这个错误。服务器是LinuxRedHat,最近没有补丁。而且它已经上升了44天。也没有任何java或tomcat的更改或发布(但tomcat每天都会有一次被反弹)。我知道这看起来像是某种字符集/语言环境/编码问题,但我现在不知道为什么会这样。它最终与poi代码有关

我使用的是poi-ooxml-3.10.1。jar,它拉入xmlbeans-2.6.0。罐子错误似乎发生在xmlbeans初始化时,然后从其编译模式之一读取2字节的“修改的UTF-8”字符时失败。到目前为止,我就是这样。我感到困惑的是,为什么这会在一个受控的环境中开始发生

导致此错误的代码行

new SXSSFWorkbook(-1);

下面是一些片段:

at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:181)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:172)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:143)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:205)
...
Caused by: java.io.UTFDataFormatException: malformed input around byte 88
    at java.io.DataInputStream.readUTF(DataInputStream.java:634)
    at java.io.DataInputStream.readUTF(DataInputStream.java:564)
    at
org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$StringPool.readFrom(SchemaTypeSystemImpl.java:1050)

它在本地windows计算机上不可复制

非常感谢您的关注和任何新想法


共 (1) 个答案

  1. # 1 楼答案

    这是某种腐败的建筑。很奇怪。不管怎么说,重建成功了