将零件保存到目录中

时间:2014-02-13 20:20:38

标签: java email javamail attachment

我已经足够搜索了,但我无法找到解决问题的正确方法。

我正在使用javamail下载电子邮件的所有附件,现在我确实有附件,但我想将它们全部存储在一个目录中。所以我的代码确实创建了一个目录(使用file.mkdir()),但我无法将这些附件移动到我的文件夹(附件)中。这是我到目前为止所使用的:

MimeBodyPart part = (MimeBodyPart) multiPart.getBodyPart(i);
    if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) {
        part.saveFile("/Attachments/" + part.getFileName());
    }

有没有办法将零件保存到文件夹中?

3 个答案:

答案 0 :(得分:0)

打开FileOutputStream并将字节写出来。

答案 1 :(得分:0)

您没有准确说明尝试保存附件时会发生什么。你有例外吗?附件是否存储在错误的文件中?我确定你明白你写的东西试图将它保存在文件系统根目录的/ Attachments目录中。

另请注意,部件附带的文件名可能是完全垃圾。考虑如果部件中的文件名是“../ etc / passwd”会发生什么。

答案 2 :(得分:0)

我得到了我尝试保存的文件位置的绝对路径,然后使用apache中的FileUtils将文件移动到目录,然后将目录移动到另一个目录。