什么是在Java中读取Outlook .msg文件的最佳库?
时间:2020-03-05 18:54:17 来源:igfitidea点击:
我想从Java应用程序读取已保存的Outlook消息(.msg文件)中的文本和二进制附件,而无需求助于本机代码(JNI,Java本机接口)。
Apache POI-HSMF似乎是朝着正确的方向发展,但它处于开发的早期阶段。
解决方案
回答
- 我们可以使用Apache POIFS,它似乎已经成熟了一些,但这似乎可以重复POI-HSMF的工作。
- 我们可以使用POI-HSMF并做出更改以获得所需的功能。这通常就是这样的FOSS项目扩展的方式。
- 我们可以使用com4j,j-Interop或者其他一些COM级别的互操作功能,并直接与提供对结构化文档的访问的COM接口进行交互。这比尝试直接通过JNI击中要容易得多。
回答
我们是否尝试过将Jython与Python win32扩展一起使用(http://www.jython.org/Project/ + http://python.net/crew/mhammond/win32/)?
如果这是用于"个人"或者"内部"项目的,那么使用Python的Jython可能是一个很好的选择。如果要构建"收缩包装"软件包,这可能不是最佳选择。
回答
msgparser是一个小型的开源Java库,它解析Outlook .msg文件并使用Java对象提供其内容。 msgparser使用Apache POI POIFS库来解析使用OLE 2复合文档格式的消息文件。