2011-10-06 41 views
2

我使用的是Apache的poi hsmf來處理.msg outlook文件。MAPIMessage的getdate函數返回ChunkNotFoundException

當我嘗試使用MAPI的getdate函數檢索日期時,它會拋出ChunkNotFound異常,我不知道發生了什麼問題。

這裏是代碼片段

MAPIMessage味精=新MAPIMessage( 「TestFolder /」 +文件名);

String Result = msg.getSubject(); // works 

Calendar CaObj = msg.getMessageDate(); ->Throws a ChunkNotFoundException here 

任何想法?

回答

3

被拋出的ChunkNotFoundException因爲沒有包含消息日期

默認情況下,文件中沒有塊當你問的東西是不存在的,MAPIMessage將拋出一個ChunkNotFoundException。如果你願意,你可以改變它,所以它返回Null。只需先撥打setReturnNullOnMissingChunk(true),然後您將得到空值

+0

謝謝,但我需要檢索那些日期時間stamp.Don't所有味精文件有時間戳?有沒有其他方式從這些文件中檢索時間戳? – phntmasasin

+0

只有已發送的電子郵件纔會有郵件提交時間戳,這是getMessageDate返回的內容。文件中可能還有其他日期尚未發送,但是您需要枚舉塊以查找找到它的日期。 – Gagravarr

+1

這可能是一個錯誤,如下所示:https:// bz。 apache.org/bugzilla/show_bug.cgi?id=57744 在apache poi中修復3.11 – Zardo