输出字节流中的压缩文件

输出zip文件用字节流  :

(字节流直接操作文件,字符流有缓存)

 private void download(InputStream inputData,String fileName,String fileExtension) throws IOException{
           HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("application/octet-stream");
        response.setHeader("Content-Disposition", "attachment; filename="
                 + fileName +"."+fileExtension);
        BufferedInputStream bins=new BufferedInputStream(inputData);//放到缓冲流里面
        OutputStream outs = response.getOutputStream();//获取文件输出IO流
        BufferedOutputStream bouts=new BufferedOutputStream(outs);
       try {
           int bytesRead = 0;
           byte[] buffer = new byte[8192];
           while ((bytesRead = bins.read(buffer, 0, 8192)) != -1) {
               bouts.write(buffer, 0, bytesRead);
               bouts.flush();//这里一定要调用flush()方法
           }
       } catch (Exception e) {
           logger.info(e.getMessage(), e);
       }finally {
           IOUtils.closeQuietly(bouts);
           IOUtils.closeQuietly(outs);
           IOUtils.closeQuietly(bins);
           IOUtils.closeQuietly(inputData);
        }
}

你可能感兴趣的:(java)