用MultipartFile 的 transferTo 上传文件之后,再删除这个文件会删不掉

苏葛 2016-06-07 11:33:13
在springMVC框架下,利用MultipartFile 的 transferTo 将一个文件上传:

String path=needPath+"source"+File.separator+"apk"+File.separator;

File newFile=new File(path+fileName);

appFile.transferTo(newFile);//文件上传

但是我在文件上传的同一个Controller中,需要立刻又将上传的文件删除:

//将之前上传的apk删除
String localPath=needPath+"source"+File.separator+"apk"+File.separator+fileName;
System.out.println(localPath);
File file2=new File(localPath);
if(file2.exists()){
Boolean result=file2.delete();
System.out.println(result);
}
返回的result一直是false,文件没有被删除,而且一直去文件夹删除文件,也会报错,说文件被打开占用,网上查了很久,说是流没有关闭,但是我查了transferTo的实现方法里面,貌似有关闭流,不知道该怎么处理了。。。还请教各位
...全文
32260 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34799572 2017-12-20
  • 打赏
  • 举报
回复 1
我和你一样的问题,非常感谢提供解决思路
苏葛 2016-06-07
  • 打赏
  • 举报
回复 2
谢谢回复, 问题已经找到了。不是因为appFile.transferTo(newFile);//文件上传这个方法的原因,是我在上传这个文件之后,又用另外一个方法去 读取了这个文件,另外的方法中有流没有关闭导致的,现在把流关闭,就可以删除了,谢谢回复
街头小贩 2016-06-07
  • 打赏
  • 举报
回复
你用的jdk是哪个版 本?

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧