欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java文件下载,,import java.

来源: javaer 分享于  点击 36622 次 点评:142

Java文件下载,,import java.


import java.io.File;  import java.io.FileInputStream;  import java.io.IOException;  import java.io.InputStream;  import java.io.OutputStream;  import java.net.URLEncoder;  import javax.servlet.ServletException;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import org.apache.commons.io.IOUtils;  public class Download extends HttpServlet {      public void doGet(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          response.setContentType("text/html;charset=utf-8");          OutputStream out=response.getOutputStream();          //获取要下载的文件名          String fileName=request.getParameter("loadname");          fileName=new String(fileName.getBytes("ISO-8859-1"),"UTF-8");          //得到下载文件的路径          String storPath=getServletContext().getRealPath("WEB-INF/files");          //得到源文件名          String oldName=fileName.split("_")[1];          //进一步根据hashcode来确定子文件夹          String childPath=generateDir(storPath,fileName);          //判断要下载的文件是否还存在          File file=new File(storPath+File.separator+childPath+File.separator+fileName);          if(!file.exists()){              out.write("你要下载的资源可能不存在".getBytes());          }else{              //如果存在就进行下载操作              InputStream is=new FileInputStream(file);              //指明下载的响应头              response.setHeader("Content-Disposition",                       "attachment;filename="+URLEncoder.encode(oldName,"UTF-8"));              IOUtils.copy(is, out);              is.close();          }      }      private String generateDir(String storePath, String fileName) {          int hashcode=fileName.hashCode();          int dir1=hashcode &  0xf;          int dir2=(hashcode & 0xf0)>>4;          String childPath=dir1+File.separator+dir2;          File file=new File(storePath,childPath);          if(!file.exists()){              file.mkdirs();          }          return childPath;      }      public void doPost(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          this.doGet(request, response);      }  }  
相关栏目:

用户点评