在写下载(把数据保存在txt中打开)时出现的提示。麻烦大家帮忙想招啦,应该是遇到response.getOutputStream()这句的时候报的错,但我是清空再做的操作啊,我自己实在是找不到解决办法。我的代码如下:
if (type.equals("link4_one_loaddown")) {
            File f = null;
            FileInputStream fileinputstream = null;
            String downloadfilepath = "/WEB-INF/download/";
            String filename = "testDownload.txt";
            String path= request.getRealPath("/");
            String filepathname = path + downloadfilepath;
            //写入文件完成
            EmployeeBean empbean = new EmployeeBean(ds);
            EmployeeVO emp = empbean.getEmployee(request.getParameter("id"));
            //读出文件开始
            try {
                f = new File(filepathname, filename);
                f.createNewFile();//创建文件
                LoadDownBean loadbean=new LoadDownBean();
                loadbean.writeFile(emp,f); //写文件的具体过程
                fileinputstream = new FileInputStream(
                        filepathname+ filename);                servletoutputstream = response.getOutputStream();
                response.reset();
                response.setHeader("Content-disposition",
                                   "attachment; filename=" + filename);
                response.setContentType("text/plain;charset=gb2312");
                int j = 0;
                int k = 0;
                byte abyte0[] = new byte[1024];
                while ((k = fileinputstream.read(abyte0)) != -1) {
                    j += k;
                    servletoutputstream.write(abyte0);
                }            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                try {
                    servletoutputstream.close();
                    fileinputstream.close();
                    File f1 = new File(filepathname+filename);
                    if (f1.exists()) {
                        System.out.println("linnan");
                        f1.delete(); //删除File.txt文件
                    }
                } catch (Exception ex1) {
                    ex1.printStackTrace();
                }
            }报错信息如下:
ERROR - Servlet.service() for servlet action threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:596)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:186)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:156)
……