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

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

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
感觉下载是以流的方式发送到客户端的,把流关闭后删除文件应该可以
回复
生成xls不用保存
如何从服务器下载?
请指点
回复
wuyg719 2006-03-15
根本就不用保存。为什么要保存?
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-15 01:06
社区公告
暂无公告