mongodb保存文件要关闭流吗?

可能有人发现,用MongoDB保存一个文件后文件一直被占用的情况,本人证实,这个是jar包问题,代码如下:
File imageFile = new File(filePath);
GridFS gfsPhoto = new GridFS(mongoTemplate.getDb(), connName);
GridFSInputFile gfsFile = null;
FileInputStream fileInputStream = new FileInputStream(imageFile);
String fileName = imageFile.getName();

/**
* 用这种而不用gfsPhoto.createFile(imageFile)是因为此Jar包Bug,
* 导致文件流未关闭而无法删除文件,估计是在save后没有关闭FileInputStream
*/
gfsFile = gfsPhoto.createFile(fileInputStream, fileName);
gfsFile.setFilename(newFileName);
gfsFile.save();
// gfsFile.getOutputStream().flush();
// gfsFile.getOutputStream().close();

if (!(null == fileInputStream)) {
fileInputStream.close();
log.info("添加PDF文件中关闭了文件输入流!");
}

// 删除pdf文件
if (imageFile.delete()) {
log.info("删除pdf文件成功");
} else {
log.info("删除pdf文件失败");
}
return;

自恋一下@_@
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值