大文件下载---之内存溢出问题解决

InputStream fis = new BufferedInputStream(new FileInputStream(file));   //用BufferedInputStream读取文件
response.reset();
response.setContentType("application/x-download");
response.addHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes(), "iso-8859-1"));
response.addHeader("Content-Length", "" + file.length());
OutputStream out = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
byte[] buffer = new byte[1024 * 1024];
int i;
while ((i = fis.read(buffer)) != -1) {
    out.write(buffer, 0, i);
}
fis.close();
out.flush();
out.close();

 

posted @ 2019-12-05 20:25  Nihaorz  阅读(2394)  评论(0编辑  收藏  举报