从服务器下载Excel文件的示例

来源:互联网 发布:rime知乎 编辑:程序博客网 时间:2024/06/12 01:02

从服务器下载Excel文件的示例

(2009-11-20 10:27:17)
转载
标签:

杂谈

分类:程序

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DownloadAction {
 
 //要从服务器下载的方法
 
 public void getFile(HttpServletRequest request,HttpServletResponse response) throws IOException{
  
    String file_name=request.getParameter("file_name"); //要下载的文件名
    if(file_name==null){file_name="";}
 
    String realpath=request.getSession().getServletContext().getRealPath("/");//获取服务器的物理路径
    String temp1 = File.separator;//路径分隔符("//")
    String filedownload_url=realpath+"temp"+temp1+file_name;//要提供下载的文件的物理路径+文件名
    System.out.println("filedownload="+filedownload_url);

    response.reset();
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition","attachment;filename=/""+file_name+"/"");  


  //新建文件输入输出流
  OutputStream output = null;
  FileInputStream fis = null;
  try{
   
    File f = new File(filedownload_url);//新建File对象
    output = response.getOutputStream();//新建文件输入输出流对象
    fis = new FileInputStream(f);
  
    byte[] b = new byte[(int)f.length()]; //设置每次写入缓存大小
   
    //把输出流写入客户端
    int i = 0;
    while((i = fis.read(b)) > 0){
      output.write(b, 0, i);
    }
    output.flush();
 }
 catch(Exception e){
   e.printStackTrace();
 }
 finally
 {
  if(fis != null)
  {
  fis.close();
  fis = null;
  }
  if(output != null)
  {
  output.close();
  output = null;
  }
 }
 

}

}

来源:(http://blog.sina.com.cn/s/blog_48fd85de0100g367.html) - 从服务器下载Excel文件的示例_一个人走路_新浪博客
原创粉丝点击