首页 >Java >java教程 >java 使用流下载文件代码

java 使用流下载文件代码

大家讲道理
大家讲道理原创
2016-11-11 10:33:551575浏览

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;  
}

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn