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。