1

ppt ファイルを読みたい apache.poi ライブラリ API を使用してファイルを読み込もうとしました。これは私が試したものです。

POIFSFileSystem posF = new POIFSFileSystem(fileInputStream);

次のエラーがスローされます

java.io.IOException: Invalid header signature; read 4851293027410584380, expected -2226271756974174256
at org.apache.poi.poifs.storage.HeaderBlockReader.<init>(HeaderBlockReader.java:112)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:151)

この質問はstackoverflowで何度も尋ねられており、提案されたすべての解決策を試しましたが、役に立ちませんでした.

4

1 に答える 1

0

このエラーは、ファイルが実際には PPT ファイルではないことを示しています。(これは、.PPT の基になっている基本的な形式である OLE2 ファイルではありません)

ファイルが実際に何であるかを調べるには、file近くの UNIX ボックスのユーティリティを使用するか、TikaCLI と --detect でApache Tikaを使用することをお勧めします。それはあなたのファイルが何であるかを理解するのに役立つはずです(ヒント-それは.pptではないためエラーです!)そして、それを開くために使用するライブラリを特定できます

于 2012-12-11T23:40:49.300 に答える