<%@ page contentType="application/vnd.ms-word; charset=gbk" %> <%@ page language="java" pageEncoding="GBK"%> <%@ page import="java.io.*" %> <% String filename = new String(("试题.doc").getBytes("GBK"),"ISO-8859-1"); response.addHeader("Content-Disposition", "attachment;filename="+filename); %> <% InputStream in = null ; ServletOutputStream sos = null; String src = request.getAttribute("fileName").toString(); //取到已生成的临时文件路径 try { if((src != null) && (!src.equals(""))) { in = new BufferedInputStream( new FileInputStream(src), 1024); byte[] buf = new byte[1024]; int len; sos = response.getOutputStream(); while ((len = in.read(buf)) != -1) { sos.write(buf, 0, len); } } } catch(Exception e) { e.printStackTrace(); } finally { sos.flush(); sos.close(); in.close(); //解决response.getWriter()和response.getOutputStream()相冲突的问题 out.clear(); out = pageContext.pushBody(); /***删除临时文件,要先关闭此文件的流才能删除成功***/ File temp = new File(src); if(temp.exists()) { temp.delete(); } } %>