我正在尝试通过使用camel
附件并将附件获取为DataHandler
. 一个10MB
文件需要左右3hrs
写入该位置。
File outputFile = new File(someDirectory, someFileName);
DataHandler attachment_data = destination1Attachments.get("someFileName.txt");
try (FileOutputStream fos = new FileOutputStream(outputFile)) {
attachment_data.writeTo(fos);
}
我还注意到,有时一个 6 到 7Mb 的文件大约需要 2 到 3 分钟,而当另一封邮件在此之后,它需要的时间比预期的要长。
因为GC?
试图找到确切的根本原因或任何其他将数据写入文件的方法。
更新1:
尝试使用@user207421 在评论中提到的BufferedOutputStream
周围。FileOutputSteam
找不到太多变化(仅 1 秒或更多)。