比如下面这段代码:<%@ page contentType="text/html;charset=gb2312" import="java.io.*"%><%
    try{
  String str=request.getParameter("name1");//获得响应客户的输出流
  str=new String(str.getBytes("iso8859-1"),"gb2312");
  File fileLoad=new File("f:\\tools\\xiazai",str);//下载文件
  response.reset();   OutputStream o=response.getOutputStream();
  BufferedOutputStream bos=new BufferedOutputStream(o);
  byte b[]=new byte[500];//输出文件用的字节数组,每次发送500个字节到输出流
  response.setHeader("Content-disposition","attachment;filename="+new String(str.getBytes("gb2312"),"iso8859-1"));
  response.setContentType("application/x-tar");//通知客户文件的mime类型
  long fileLength=fileLoad.length();//通知客户文件的长度
  String length=String.valueOf(fileLength);
  response.setHeader("Content_Length",length);   FileInputStream in=new FileInputStream(fileLoad);//读取文件并发送给客户下载
  int n=0;
  while((n=in.read(b))!=-1)
  {
      bos.write(b,0,n);
  }
   bos.close();
   }
    catch(Exception e){
out.println("发生了异常"+e);
 }
 response.reset();
 %>
就是那些红色的部分,希望大家讲解下,谢谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【gjk11】截止到2008-07-03 09:59:49的历史汇总数据(不包括此帖):
    发帖的总数量:12                       发帖的总分数:310                      
    结贴的总数量:10                       结贴的总分数:250                      
    无满意结贴数:1                        无满意结贴分:30                       
    未结的帖子数:2                        未结的总分数:60                       
    结贴的百分比:83.33 %               结分的百分比:80.65 %                  
    无满意结贴率:10.00 %               无满意结分率:12.00 %                  
    楼主加油
      

  2.   

    response.setHeader 是用来设置返回页面的头 meta 信息, 
    使用时 response.setHeader( name, contect );response.reset();   清空buffer,设置页面不缓存
      

  3.   

    response.reset(); 
    清空buffer,设置页面不缓存 你的程序里面设置这个可能是为了防止程序下载出错设置的!!
    参考:
    参考1
    参考2
      

  4.   

    response.reset();清除bufferresponse.setHeader("Content-disposition","attachment;filename="+new String(str.getBytes("gb2312"),"iso8859-1")); //客户使用目标另存为对话框保存指定文件response.setHeader("Content_Length",length);设置头文件的长度为指定文件的长度