Java MimeMail:解码后获取额外的字符

时间:2012-10-09 12:54:14

标签: java javamail

我正在使用标准java javax.mail.internet.MimePartDataSource.getInputStream来获取与电子邮件关联的附件。我面临的问题是:

the size of the file attached is 10950 bytes(excel). The size of file i get using MimePartDataSource is 14810 bytes.

如果我删除最后一个额外字符并尝试打开它,它工作正常;但如果我尝试打开而不删除额外的字节,会生成弹出窗口,指示“想要恢复文件?” 然后,如果我说是,它就有效。

我正在使用excel和pdf来解决这个问题。 你可以点亮它吗?

谢谢, 阿瑞丹姆

2 个答案:

答案 0 :(得分:0)

您可能正在使用available()方法来确定要保存的数据量。这不起作用。使用JavaMail FAQ

中描述的方法

答案 1 :(得分:0)

我正在使用另一种方法来解决这个问题并获得成功。以前我使用的是getInputStream,它在解码后以某种方式添加了一些额外的数据。现在,我使用getRawInputStream获取数据并明确地解码它,这保留了真正的附件。