首页 > 解决方案 > 用 Java 获取 MSG Outlook 文件的原始内容(字符串格式)

问题描述

我正在尝试在 Java 应用程序中读取 .MSG Outlook 文件的原始内容。

我尝试使用 Apache POI HSMF,它可以很好地提取一些字段,但我需要获取确切的原始文件内容。据我所知,Apache POI 没有提供这样的功能。

另一方面,如果我试图打开 .MSG 文件(我认为是二进制格式),我无法将其写入字符串格式。

您知道我如何读取此类 msg 文件并将其内容复制到 String 中吗?

标签: javaapache-poimsg

解决方案


Apache POI HSMF 包括您在评论中请求的提取正文、标题和附件所需的工具。事实上,HSMF 测试应用程序org.apache.poi.hsmf.extractor.OutlookTextExtractor为您提供 To、From、Subject 和 Body。它甚至包括通过标题和附件的代码,您只需修改它以显示完整的标题并将附件内容写入新文件。

要运行它,请下载以下 jar 文件:

  • poi-scratchpad-4.1.2.jar
  • poi-4.1.2.jar
  • commons-math3-3.6.1.jar

并通过(在 Windows 上)运行

java -cp "poi-scratchpad-4.1.2.jar;poi-4.1.2.jar;commons-math3-3.6.1.jar"  org.apache.poi.hsmf.extractor.OutlookTextExtractor msg-file

在 Linux 上,将类路径中的路径分隔符更改为“;”</p>


推荐阅读