java以流的形式输出文件

  • Post author:
  • Post category:java


public void downProcessFile(HttpServletRequest request,HttpServletResponse response,String path){

try {

File file = new File(path);

String filename = file.getName();// 获取日志文件名称

InputStream fis = new BufferedInputStream(new FileInputStream(path));

byte[] buffer = new byte[fis.available()];

fis.read(buffer);

fis.close();

response.reset();

// 先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,这个文件名称用于浏览器的下载框中自动显示的文件名

response.addHeader(“Content-Disposition”, “attachment;filename=” + new String(filename.replaceAll(” “, “”).getBytes(“utf-8″),”iso8859-1”));

response.addHeader(“Content-Length”, “” + file.length());

OutputStream os = new BufferedOutputStream(response.getOutputStream());

response.setContentType(“application/octet-stream”);

os.write(buffer);// 输出文件

os.flush();

os.close();

} catch (Exception e) {

}

}



版权声明:本文为Liutt55原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。