专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Web开发

jsp文件下载后,内容是空的解决思路

发布时间:2010-05-31 07:01:03 文章来源:www.iduyao.cn 采编人员:星星草
jsp文件下载后,内容是空的
代码如下
<%@page import="java.io.FileInputStream"%>
<%@page import="java.io.OutputStream"%><%@ page
  contentType="text/html; charset=utf-8"%>
<%
  String fileName = "freebsd.iso";
  String filePath = "e:\\";

  out.clear();
  response.reset();
  response.setContentType("application/x-download");
  response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
  OutputStream os = response.getOutputStream();
  try {
  FileInputStream fis = new FileInputStream(filePath + fileName);
  try {
  byte[] buffer = new byte[1024 * 10];
  for (int read; (read = fis.read(buffer)) != -1;) {
  os.write(buffer, 0, read);
  }
  } finally {
  fis.close();
  }
  } finally {
  os.close();
  }
%>

执行后,文件已经下载过来了,但是内容是空的,请教是什么原因啊?


------解决方案--------------------
没有读取到内容吧。。
byte[] buffer = new byte[1024 * 10];
while(read = fis.read( buffer,0 ,1024 * 10 )) != -1;) {
os.write(buffer, 0, read);
}看看行么

------解决方案--------------------
os.write(buffer, 0, buffer.length);
------解决方案--------------------
为什么用for循环呢?
个人觉得用while循环好一些
int length=0;
while((read = fis.read(buffer)) != -1)
{
os.write(buffer, 0, length);
}
------解决方案--------------------
探讨

为什么用for循环呢?
个人觉得用while循环好一些
int length=0;
while((read = fis.read(buffer)) != -1)
{
os.write(buffer, 0, length);
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: