程序生成Xls后下载, 想在下载后删除server端的xls文件, 如何处理?

超超级赛亚人 2006-03-15 01:06:52
程序生成Xls后下载,删除
File file = new file("filePath");
file.delete();
但是此时文件被客户端占用,无法删除
请问如何处理?
...全文
160 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyg719 2006-03-19
  • 打赏
  • 举报
回复
为什么用FileInputStream?如果你的xls是程序生成的,则根本不需要保存,直接用dataInputStream,从生成到输出均在内存中。
  • 打赏
  • 举报
回复
为什么你下载了,还要在页面上也显示那个EXCEL文件呢?
getResponse().setContentType("application/vnd.ms-excel");去掉试试看
huangbangri 2006-03-16
  • 打赏
  • 举报
回复
我今天刚做的,一点问题都没有,在流发送完后,删除不会出现异常,我用的是jspsmart组件下载
超超级赛亚人 2006-03-16
  • 打赏
  • 举报
回复
我用下面方法无法删除, 请帮忙!

FileInputStream fileInputStream = new FileInputStream(filePath);
String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
getResponse().setHeader("Content-disposition",
"attachment; filename=" + fileName);
getResponse().setContentType("application/vnd.ms-excel");
BufferedOutputStream out = new BufferedOutputStream(getResponse().getOutputStream());
byte[] buffer=new byte[2048];
int bufferReadLength;
while((bufferReadLength=fileInputStream.read(buffer,0,buffer.length))!=-1)
out.write(buffer,0,bufferReadLength);
out.flush();
fileInputStream.close();
out.close();

File file = new File(filePath);
file.delete();

guo__peng 2006-03-15
  • 打赏
  • 举报
回复
感觉下载是以流的方式发送到客户端的,把流关闭后删除文件应该可以
超超级赛亚人 2006-03-15
  • 打赏
  • 举报
回复
生成xls不用保存
如何从服务器下载?
请指点
wuyg719 2006-03-15
  • 打赏
  • 举报
回复
根本就不用保存。为什么要保存?

81,122

社区成员

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

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