私は過去2週間で私のWebアプリケーションアプリでこのエラーを見始めました。サーバーはLinuxのredhatであり、最近パッチが適用されていません。また、それは44日間続いた。また、JavaやTomcatの変更やリリースはありませんでした(しかし、Tomcatは1日1回バウンスします)。私はそれが何らかのcharset/locale/encodingの問題のように見えますが、なぜそれがなぜ始まったのかは分かりません。それは最終的にpoiコードと関係がある。DataInputStream UTFDataFormatException:バイト88の不正な入力根本的な原因
私はpoi-ooxml-3.10.1.jarを使用しています。これはxmlbeans-2.6.0.jarを取得します。 xmlbeansが初期化され、コンパイルされたスキーマの1つから2バイトの「変更されたUTF-8」文字を読み込むときにエラーが発生するようです。それは私が今のところどこにいるのか。制御された環境で起きるのは、なぜ私が困惑しているのかということです。以下は、この
new SXSSFWorkbook(-1);
いくつかのスニペットを起こしたコードの
ライン:ローカルのWindowsマシン上
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)
その再現性がありません。
大変ありがとうございました。
なぜ私は 'readUTF()'がまったく呼び出されていないのか、私には何のバッフルがありますか? 'writeUTF()'フォーマットはJavaに特有のもので、Microsoft POIフォーマットとは何の関係もありません。 – EJP