1

我有一个HMEFMessage并使用迭代所有附件

for (Attachment tnefAttachment : hmef.getAttachments()) {

可以使用 获取附件大小tnefAttachment.getMAPIAttribute(MAPIProperty.ATTACH_SIZE)。此方法返回 MAPIAttribute 实例,它只有 getData(),它返回 byte[]。

如何将 byte[] 从 MAPIAttribute 转换为 Long(大小)?

据此 - https://poi.apache.org/apidocs/org/apache/poi/hmef/attribute/package-summary.html - 有一个 MAPIStringAttribute.getAsString(attr),它不适用于 ATTACH_SIZE。

编辑 - ATTACH_SIZE 根据http://grepcode.com/file/repo1.maven.org/maven2/org.openl.rules/org.openl.lib.poi.dev/5.9.4.1/org/apache/poi为 Long /hsmf/datatypes/MAPIProperty.java

4

1 回答 1

2

MAPIProperty.ATTACH_SIZE仅指示您请求的属性,getMAPIAttribute()因此其类型无关紧要。

我建议使用内容的大小来解决您的问题:

tnefAttachment.getContent().length

将为您提供附件的大小(以字节为单位)。

如果要将字节数组转换为长数组,请参阅此问题

于 2014-11-12T12:56:05.697 回答