我已经和他坐了一会儿了。我有一个以下代码片段,用于创建一个eml文件。
private void saveAsEml(Message msg){
try (FileOutputStream out = new FileOutputStream(new File("path-to-file.eml"))) {
msg.writeTo(out);
out.flush();
}
}
但如果Message msg
附件稍大(10mb csv文件),则这两行会阻塞10-15分钟。
这是什么问题?我知道消息中的InputStream
很长,阅读可能需要一些时间,但我不了解核心。我已经设法找到人们在250ms内阅读200MB文件的例子。
谢谢你, 鲍勃。
答案 0 :(得分:1)
Message
来自哪里?如果您使用IMAP从邮箱中检索到它,则附件可能尚未下载。当您将该消息写入本地文件系统时,所有这些部分都必须从邮件服务器下载,如果连接速度非常慢,您会看到很长时间。