zoukankan      html  css  js  c++  java
  • javaweb reponse 写出文件


    1. Map map = getSearchValue();
    2. File excelFile = orderService.getexportexcel(id,map);
    3. InputStream is = null;
    4. OutputStream os = null;
    5. BufferedInputStream bis = null;
    6. BufferedOutputStream bos = null;
    7. //以流的形式输出文件
    8. try {
    9. if (excelFile.exists()) {
    10. String fileName = "订单.xls";
    11. is = new FileInputStream(excelFile);
    12. HttpServletResponse response = ServletActionContext
    13. .getResponse();
    14. os = response.getOutputStream();
    15. bis = new BufferedInputStream(is);
    16. bos = new BufferedOutputStream(os);
    17. fileName = java.net.URLEncoder.encode(fileName, "UTF-8");// 处理中文文件名的问题
    18. // fileName = new String(fileName.getBytes("UTF-8"), "GBK");// 处理中文文件名的问题
    19. response.reset();
    20. response.setCharacterEncoding("UTF-8");
    21. response.setContentType("application/ vnd.ms-excel");// 不同类型的文件对应不同的MIME类型
    22. response.setHeader("Content-Disposition",
    23. "attachment; filename=" + fileName);
    24. int bytesRead = 0;
    25. byte[] buffer = new byte[1024];
    26. while ((bytesRead = bis.read(buffer)) != -1) {
    27. bos.write(buffer, 0, bytesRead);// 将文件发送到客户端
    28. }
    29. bos.flush();
    30. }
    31. } catch (Exception e) {
    32. logger.error(e.getMessage(), e);
    33. } finally{
    34. IOUtils.closeQuietly(bis);
    35. IOUtils.closeQuietly(bos);
    36. IOUtils.closeQuietly(is);
    37. IOUtils.closeQuietly(os);
    38. }

  • 相关阅读:
    结对四则运算04—网页版
    每周总结07
    每周总结06
    求循环数组中最大子数组的和
    每周总结05
    每周总结03
    每周总结04
    四则运算03
    开发过程记录
    Ubuntu下安装mysql和可视化工具超级简单教程
  • 原文地址:https://www.cnblogs.com/signheart/p/6597943.html
Copyright © 2011-2022 走看看