3

このアプリケーションでは、Apache Tika を使用してファイルを処理しています。ただし、一部のファイル (*.mov、*.mp4 など) は Tika が処理できず、対応する *.tmp ファイルをユーザーの一時フォルダーに残します。いくつかの調査の結果、既知のバグであることがわかりました: https://issues.apache.org/jira/browse/TIKA-1040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

最後のコメントでは、ユーザーが回避策について話していますが、私にはうまくいきません:

final Tika tika = new Tika();
final TikaInputStream fileStream = TikaInputStream.get(/*some InputStream*/);
try {
    final String extractedString = tika.parseToString(fileStream);
    //do something with the string
} finally {
    CloseUtils.close(fileStream);
}

上記のコードを使用しても、Temp フォルダーに一時ファイルが残ります。これに対する解決策は何ですか?

4

2 に答える 2

2

get() メソッドは、InputStream ではなく File オブジェクトで呼び出す必要があります。

final File file = new File("c:/some_file.mov");
final TikaInputStream fileStream = TikaInputStream.get(file);

Tika はまだそれを処理できませんが、実際には対応する tmp ファイルを削除することができます。

于 2013-01-11T16:06:45.463 に答える
1

別の回避策は、org.apache.tika.parser.mp4.MP4Parser. ここに 2 つのソリューションがあります。

于 2013-02-05T15:31:25.577 に答える