2017-04-06 6 views
0

私は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");

おかげ

答えて

6

を私はティカ-1.14でこれを試してみてください。

File file = new File("src/main/resources/unicode.msg"); 
AutoDetectParser parser = new AutoDetectParser(); 
BodyContentHandler handler = new BodyContentHandler(); 
Metadata tikaMetadata = new Metadata(); 
InputStream input = TikaInputStream.get(file, tikaMetadata); 
parser.parse(input, handler, tikaMetadata, new ParseContext()); 
String messageFrom = tikaMetadata.MESSAGE_FROM; 
String fromField = tikaMetadata.get(messageFrom); 
System.out.println(fromField); 

となります。あなたの問題は、メッセージを解析する前にメタデータを抽出しようとしたことでした。さらに、私はProperty prop = new Property("MESSAGE_FROM");という行が役に立たず、間違っていると信じています。

+0

こんにちはNicomedes、なぜ私はまだこれは動作しません - それは "null"を印刷します – Coffee

+0

- 多分それはバージョン問題ですか?私は私が1.14 Tikaを使用していると思う。 – Coffee

+0

ok nevrmind、 - これは今働くことになった - ありがとう! – Coffee

関連する問題