51Testing软件测试论坛

标题: 阿里外包也是这么难的吗? [打印本页]

作者: 奇犽    时间: 2019-4-9 14:26
标题: 阿里外包也是这么难的吗?
要求外语流畅,多线程会玩,我是真的费劲。
  1. public class DownFile {

  2. public HttpServletResponse download(String path,String name, HttpServletResponse response) {
  3.     try {
  4.         // path是指欲下载的文件的路径。
  5.         File file = new File(path);
  6.         // 取得文件名。
  7.         String filename="";
  8.         if(name!=null&&name.length()!=0){
  9.             filename = name;
  10.         }else{
  11.             filename = file.getName();
  12.         }
  13.         // 取得文件的后缀名。
  14.         String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();

  15.         // 以流的形式下载文件。
  16.         InputStream fis = new BufferedInputStream(new FileInputStream(path));
  17.         byte[] buffer = new byte[fis.available()];
  18.         fis.read(buffer);
  19.         fis.close();
  20.         // 清空response
  21.         response.reset();
  22.         // 设置response的Header
  23.         response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes(),"iso-8859-1"));
  24.         response.addHeader("Content-Length", "" + file.length());
  25.         OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
  26.         response.setContentType("application/octet-stream");
  27.         toClient.write(buffer);
  28.         toClient.flush();
  29.         toClient.close();
  30.     } catch (IOException ex) {
  31.         ex.printStackTrace();
  32.     }
  33.     return response;
  34. }
复制代码

  1. try {
  2.         long sd = new Date().getTime();
  3.         String filename = request.getRealPath("/") + "表名" + DateUtil.format(new Date(), "yyyyMMddhhmmss") + ".xls";
  4.         FileOutputStream fout = new FileOutputStream(filename);
  5.         wb.write(fout);
  6.         fout.close();

  7.         long ed = new Date().getTime();
  8.         System.out.println("---write---" + (ed - sd) + "毫秒,共计" + (ed - sd) / 1000 + "秒");

  9.         DownFile DownFile = new DownFile();
  10.         DownFile.download(filename, "", ServletActionContext.getResponse());
  11.         File file = new File(filename);
  12.         file.delete();
  13.         long aed = new Date().getTime();
  14.         System.out.println("---表名---" + (aed - asd) + "毫秒,共计" + (aed - asd) / 1000 + "秒");
  15.     } catch (Exception e) {
  16.         e.printStackTrace();
  17.     }
复制代码



作者: gaochengbbb    时间: 2019-4-22 17:19
看项目的吧




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2