我正在挖掘 Apache POI API,尝试从 MSG 文件中提取的所有属性。
我使用POIFSChunkParser
.
这是代码:
try
{
InputStream is = new FileInputStream("C:\\path\\email.msg");
POIFSFileSystem poifs = new POIFSFileSystem(is);
POIFSChunkParser poifscprsr = new POIFSChunkParser();
ChunkGroup[] chkgrps = poifscprsr.parse(poifs);
for(ChunkGroup chunkgrp : chkgrps )
{
for(Chunk chunk : chunkgrp.getChunks())
{
System.out.println(chunk.getEntryName() + " ("
+ chunk.getChunkId() + ") " + chunk);
}
}
}
catch(FileNotFoundException fnfe)
{
System.out.println(fnfe.getMessage());
}
catch(IOException ioe)
{
System.out.println(ioe.getMessage());
}
在输出中,它列出了 MSG 的所有可访问属性。其中一个看起来像这样:
__substg1.0_800A001F (32778) 04
我试图找到HEX 800A
这里的财产有什么意义。(本主题的子节点列出了属性。)
Q1。但是我没有找到对应的属性HEX 800A
。那我应该推断什么?
另外,我还有一些其他但有些相关的问题:
Q2。Apache POI 是否通过MAPIMessage
(我也尝试探索 MAPIMessage 的所有方法并开始认为它没有)公开所有属性?
Q3。如果没有,是否有任何其他方法可以使用或不使用 Apache POI 访问 Java 中的所有 MAPI 属性。