我有HMEFMessage
并使用
for (Attachment tnefAttachment : hmef.getAttachments()) {
可以使用tnefAttachment.getMAPIAttribute(MAPIProperty.ATTACH_SIZE)
获取附件大小。此方法返回MAPIAttribute实例,它只有getData(),它返回byte []。
如何将byte []从MAPIAttribute转换为Long(size)?
根据这个 - https://poi.apache.org/apidocs/org/apache/poi/hmef/attribute/package-summary.html - 有一个MAPIStringAttribute.getAsString(attr),它不适用于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/hsmf/datatypes/MAPIProperty.java,ATTACH_SIZE很长。
答案 0 :(得分:2)
MAPIProperty.ATTACH_SIZE
仅指示您使用getMAPIAttribute()
请求的属性,因此其类型无关紧要。
我建议使用内容的大小来解决您的问题:
tnefAttachment.getContent().length
将以字节为单位给出附件的大小。
如果要将字节数组转换为long,请参阅this question。