import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Blob;
private void saveFile(String filePath, Blob content) throws Exception {
FileOutputStream fos = null;
BufferedOutputStream bos = null;
InputStream is = null;
BufferedInputStream bis = null;
try {
File file = new File(filePath);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
is = content.getBinaryStream();
bis = new BufferedInputStream(is);
int b1 = 0;
while ((b1 = bis.read()) != -1) {
bos.write(b1);
bos.flush();
}
} catch (Exception e) {
throw e;
} finally {
if(is!=null){
is.close();
}
if (bis != null) {
bis.close();
}
if (fos != null) {
fos.close();
}
if (bos != null) {
bos.close();
}
}
}
主要原因是我需要把Blob对象取出来作为邮件的附件发送。
本来还想直接在javamail中用Blob取出InputStream作为附件直接发送。
但是javamail不支持这种方法。
我用的javamail版本是1.4.1