关于临时文件

good_sun 2011-03-16 12:26:43
初衷是有个方法可以返回临时文件的InputStream,当客户读取完InputStream的时候,临时文件能被删掉,不知道下面这段代码能不能达到目的,主要是不确定finally里面的删除能不能在InputStream读完后执行,不想用deleteOnExit,高手帮忙看下谢谢

StringBuffer ret = .......
.....

File tmpFile = File.createTempFile("bidoutput_", null);
try{
OutputStream os = new FileOutputStream(tmpFile);
try{
IOUtils.write(ret, os);
}finally{
os.close();
}
FileInputStream fs = new FileInputStream(tmpFile);
return fs;
}finally{
tmpFile.delete();
}
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
good_sun 2011-03-20
  • 打赏
  • 举报
回复
自己解决了,重载了InputStream的close方法
yukiMark 2011-03-16
  • 打赏
  • 举报
回复
如果你的fs在其它的地方用的话 那么finally里面的 delete()就有起作用了。 如果你的fs只在try{}里面用的话 就能删除掉
铁匠梁 2011-03-16
  • 打赏
  • 举报
回复
暂时未使用到临时文件这个功能

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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