欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

java 使用流下载文件代码

程序员文章站 2022-05-14 23:34:35
...
public HttpServletResponse download(String path, HttpServletResponse response) {  
    try {  
        // path是指欲下载的文件的路径。  
        File file = new File(path);  
        // 取得文件名。  
        String filename = file.getName();  
        // 取得文件的后缀名。  
        String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();  
   
        // 以流的形式下载文件。  
        InputStream fis = new BufferedInputStream(new FileInputStream(path));  
        byte[] buffer = new byte[fis.available()];  
        fis.read(buffer);  
        fis.close();  
        // 清空response  
        response.reset();  
        // 设置response的Header  
        response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));  
        response.addHeader("Content-Length", "" + file.length());  
        OutputStream toClient = new BufferedOutputStream(response.getOutputStream());  
        response.setContentType("application/octet-stream");  
        toClient.write(buffer);  
        toClient.flush();  
        toClient.close();  
    } catch (IOException ex) {  
        ex.printStackTrace();  
    }  
    return response;  
}