我试图通过BodyPart类读取附件的文件名。我正在调用BodyPart getFileName方法。
对于任何内容类型“application / octet-stream”,我得到的文件名不正确如下:
=?Windows-1252?Q?(07)_HQ14_MAtv_Qu = E9bec_Grille_HIVER_2014_Semaine_du_17 _?= =?Windows-1252?Q?f = E9vrier_v1.xlsx?=
什么时候应该读这样的东西:
(08)HQ14MAtvQuébecGlailleHIVER 2014 Semaine du24ffévrierv1.xlsx
是否有任何实用程序可以将八位字节流成功解码为可读输出?
答案 0 :(得分:1)
我找到了解决方法。实际上有一种实用方法可以解决这个问题。
如果将文件名字符串传递给MimeUtility.decode方法,它将返回具有正确文件名的字符串。请参阅更多信息:
http://docs.oracle.com/javaee/1.4/api/javax/mail/internet/MimeUtility.html#decodeText
例如:
String realFileName = MimeUtility.decode(“=?Windows-1252?Q?(07)_HQ14_MAtv_Qu = E9bec_Grille_HIVER_2014_Semaine_du_17 _?= =?Windows-1252?Q?f = E9vrier_v1.xlsx?=”)将返回“(07) HQ14MAtvQuébecGlailleHIVER 2014 Semaine du17févrierv1.xlsx“。