javamimemail:解码后获取额外字符

javamimemail:解码后获取额外字符,java,jakarta-mail,Java,Jakarta Mail,我正在使用标准的java javax.mail.internet.MimePartDataSource.getInputStream来获取与电子邮件相关的附件。我面临的问题是: 附加文件的大小为10950字节(excel)。 我使用MimePartDataSource获得的文件大小为14810字节。 如果我删除最后一个额外的字符并尝试打开它,它工作正常;但是,如果我尝试在不删除额外字节的情况下打开,将生成一个弹出窗口,指示“要恢复文件吗?” 然后,如果我说是的,它就起作用了 我用excel和p

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

附加文件的大小为10950字节(excel)。
我使用MimePartDataSource获得的文件大小为14810字节。

如果我删除最后一个额外的字符并尝试打开它,它工作正常;但是,如果我尝试在不删除额外字节的情况下打开,将生成一个弹出窗口,指示“要恢复文件吗?” 然后,如果我说是的,它就起作用了

我用excel和pdf面对这个问题。 你能放点灯进去吗

谢谢,
Arindam

您可能正在使用available()方法来确定要保存的数据量。那不行。使用中描述的方法。

我正在使用另一种方法来处理此问题,并取得了成功。以前我使用的是getInputStream,它在某种程度上解码后添加了一些额外的数据。现在,我使用getRawInputStream获取数据并显式解码它,这将保留真实的附件。

您能展示用于提取附件的代码吗?