我正在尝试在 Java 应用程序中读取 .MSG Outlook 文件的原始内容。
我尝试使用 Apache POI HSMF,它可以很好地提取某些字段,但我需要获取确切的原始文件内容。据我所知 Apache POI 没有提供这样的功能。
另一方面,如果我尝试打开 .MSG 文件(我认为是二进制格式),我无法将其写入字符串格式。
你知道我如何读取这样的消息文件并将其内容复制到字符串中吗?
最佳答案
Apache POI HSMF 包含您在评论中请求的提取正文、 header 和附件所需的工具。事实上,HSMF测试应用程序org.apache.poi.hsmf.extractor.OutlookTextExtractor获取“收件人”、“发件人”、“主题”和“正文”。它甚至包括遍历标题和附件的代码,您只需修改它即可显示完整的标题并将附件内容写入新文件。
要运行它,请下载以下 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 上,将类路径中的路径分隔符更改为“;”
关于java - 用Java获取MSG Outlook文件的原始内容(字符串格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60602971/