0

現在、複数のドキュメント タイプからメタデータを抽出するプログラムを Java で作成しています。現時点では、Apache Tika を使用して .vsd ファイルからメタデータを抽出しようとしています。以前、Apache POI を直接使用してみましたが、実際にはライブラリのこの使用されていない部分に関するドキュメントを見つけるのは非常に難しいため、Tika を使用することにしました。

わかりましたので、ここに私がクラッシュしているコードサンプルがあります(行でクラッシュ: 7):

        ParseContext context = new ParseContext();
        Metadata metadata = new Metadata();
        WriteOutContentHandler handler = new WriteOutContentHandler(10 * 1024 * 1024);
try {
            FileInputStream fis = new FileInputStream(fileName);
            OfficeParser officeParser = new OfficeParser();
            officeParser.parse(fis, handler, metadata, context);
            String[] metadataNames = metadata.names();

            // Display all metadata
            for (String name : metadataNames) {
                System.out.println(name + ": " + metadata.get(name));
            }
        } catch (FileNotFoundException E) {
            System.out.println("No such files : " + fileName);
        }

そして、ここにスタックトレースがあります:

スレッド「メイン」での例外 java.lang.RuntimeException: TODO at org.apache.poi.hdgf.pointers.PointerFactory.createPointer(PointerFactory.java:45) at org.apache.poi.hdgf.HDGFDiagram.(HDGFDiagram.java: 99) org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:200) で org.apache.tika. parser.microsoft.OfficeParser.parse(OfficeParser.java:161) で VsdFile.displayMetadata(VsdFile.java:43) で main.main(main.java:26) で sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) で sun java.lang.reflect.Method.invoke(Method.java:601) com.intellij.rt.execution.application.AppMain.main (AppMain.java:120) で

私はJavaにかなり慣れていないので、私の質問があまりにも明白すぎて答えられないことを願っています.

ありがとうございました。

よろしく、

ブドゥル

4

1 に答える 1

1

したがって、問題は悪いvsdファイルでした。

于 2013-01-23T04:40:19.293 に答える