使用javamail时附件的奇怪读/写时间

使用javamail时附件的奇怪读/写时间,java,io,jakarta-mail,Java,Io,Jakarta Mail,我已经和这个坐了一段时间了。我有一个下面的代码片段,旨在创建一个eml文件 private void saveAsEml(Message msg){ try (FileOutputStream out = new FileOutputStream(new File("path-to-file.eml"))) { msg.writeTo(out); out.flush(); } } 但是如果消息msg的附件稍大一些(10mb csv文件),这两行

我已经和这个坐了一段时间了。我有一个下面的代码片段,旨在创建一个eml文件

private void saveAsEml(Message msg){

    try (FileOutputStream out = new FileOutputStream(new File("path-to-file.eml"))) {
        msg.writeTo(out);
        out.flush();
    }
}
但是如果
消息msg
的附件稍大一些(10mb csv文件),这两行代码会阻塞10-15分钟

这里有什么问题?我知道消息中的
InputStream
很长,通读可能需要一些时间,但我不理解核心。我已经找到了人们在250ms内阅读200MB文件的例子

谢谢,,
鲍勃。

这条
消息是从哪里来的?如果您使用IMAP从邮箱检索到它,则附件可能尚未下载。当您将该消息写入本地文件系统时,所有这些部分都必须从邮件服务器下载,如果连接速度非常慢,您会看到很长时间。

请在文件输出流周围使用BufferedOutputStream进行尝试。在提出此建议后,问题仍然存在:(我的回答是否有帮助?