Java Apache POI HMEF-如何从MS TNEF消息获取附件大小?

Java Apache POI HMEF-如何从MS TNEF消息获取附件大小?,java,apache-poi,tnef,Java,Apache Poi,Tnef,我有一个HMEFMessage并使用 for (Attachment tnefAttachment : hmef.getAttachments()) { 可以使用tnefAttachment.getMAPIAttribute(MAPIProperty.ATTACH\u size)获取附件大小。此方法返回MAPIAttribute实例,它只有getData(),后者返回字节[] 如何将字节[]从属性转换为长(大小) 根据这一点--有一个MAPIStringAttribute.getAsStrin

我有一个
HMEFMessage
并使用

for (Attachment tnefAttachment : hmef.getAttachments()) {
可以使用
tnefAttachment.getMAPIAttribute(MAPIProperty.ATTACH\u size)
获取附件大小。此方法返回MAPIAttribute实例,它只有getData(),后者返回字节[]

如何将字节[]从属性转换为长(大小)

根据这一点--有一个MAPIStringAttribute.getAsString(attr),它不适用于ATTACH\u SIZE


编辑-根据.

MAPIProperty,附加大小是长的。附加大小
仅指示您使用
getMAPIAttribute()
请求的属性,因此其类型无关紧要

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

tnefAttachment.getContent().length
将以字节为单位显示附件的大小


若要将字节数组转换为long,请参阅。

是的,但调用getContent()会从服务器下载文件,不是吗?我想在不获取文件的情况下获得一个大小。实际上,HSMF对文件有效。如果不想使用这种方法,请将字节转换为链接问题中的单个long。