zoukankan      html  css  js  c++  java
  • 使用JAVA下载文件

    JAVA文件下载

    public class FileServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //        1. 要获取下载文件的路径
            ServletContext context = this.getServletContext();
            String realPath = "/Users/yinrui/Documents/西部教育/前端入门/javaweb-servlet/response/target/classes/1.png";
            System.out.println("下载文件的路径"+realPath);
    //        2. 下载的文件名
            String fileName = realPath.substring(realPath.lastIndexOf("//")+1);
    //        3. 设置想办法让浏览器能够支持下载我们需要的东西(content-disposition) 下载我们需要的东西,中文文件名URLENcoder.encoder编码,否则有可能乱码
            resp.setHeader("content-disposition","attachement;filename="+ URLEncoder.encode(fileName,"UTF-8"));
    //        4. 获取下载文件的输入流
            FileInputStream in = new FileInputStream(realPath);
    //        5. 创建缓冲区
            int len = 0;
            byte[] buffer = new byte[1024];
    //        6. 获取OutputStream对象
            ServletOutputStream out = resp.getOutputStream();
    //        7. 将FileOutPutStream流写入到buffer缓冲区,使用OutputStream将缓冲区中的数据输出到客户端!
            while ((len = in.read(buffer))>0){
                out.write(buffer,0,len);
            }
            in.close();
            out.close();
        }
    
    Keep Clam and Carry Keen.
  • 相关阅读:
    JAVA实验3 类与对象
    多种排序功能的实现
    (数据结构)HashTable的实现
    对string型变量的频率统计(文章单词检索)
    对int型变量的频率统计
    二叉搜索树中序迭代器的实现
    二叉搜索树的实现
    Prim最小生成树
    Kruscal最小生成树
    算法分析实践大作业
  • 原文地址:https://www.cnblogs.com/MrKeen/p/12652329.html
Copyright © 2011-2022 走看看