私はApache Tikaライブラリ、特にMetadataクラスを使用して、 Outlook Exchangeファイル(メールファイル、つまり.msg
ファイル)から「From」、「To」、および「Subject」フィールドを抽出します。Apache Metadataクラスを使用してApache Tikaを使用して「From」、「To」、および「Subject」フィールドを抽出する方法は?
私はMetadataクラスを使用する必要があることを知っていますが、少し問題があります。ここで
は、これまでの私のコードです:
import java.io.File;
import java.io.*;
import java.util.Arrays;
import org.apache.tika.Tika;
/* more tika imports */
public class ExtractFromEmail {
public static void main(final String[] args) throws IOException, TikaException , SAXException {
File file = new File("message_1980.msg");
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler(-1);
Metadata tikaMetadata = new Metadata();
Property prop = new Property("MESSAGE_FROM");
String fromField = tikaMetadata.get(prop); // USE THIS PATTERN
InputStream input = TikaInputStream.get(file, tikaMetadata);
parser.parse(input, handler, tikaMetadata, new ParseContext());
String other = tikaMetadata.MESSAGE_FROM ;
System.out.println(fromField);
}
}
私は、コード実行したときに、私はエラーを次取得:
ExtractFromEmail.java:30: error: no suitable constructor found for Property(String) Property prop = new Property("Message.MESSAGE_FROM");
おかげ
こんにちはNicomedes、なぜ私はまだこれは動作しません - それは "null"を印刷します – Coffee
- 多分それはバージョン問題ですか?私は私が1.14 Tikaを使用していると思う。 – Coffee
ok nevrmind、 - これは今働くことになった - ありがとう! – Coffee