0

我是java家族的新手。请尽快提供帮助。我创建了一个 jsp 页面,我在其中给出了

<INPUT NAME="F1" TYPE="file" id="i1" > 
<p align="left"><INPUT TYPE="submit" VALUE="submit">

并浏览其上的excel文件并单击提交按钮。现在我创建了一个 java 类 ExcelRead 扩展了我使用 post 方法的 HttpServlet。

我想将我在jsp页面中浏览的文件(路径)提取为 ServletInputStream contentType = request.getInputStream();

并在 ExcelRead 函数中进行 paas..as.. excel.readExcelSheet(contentType);

然后是能够读取excel表的编码部分。但是,当我在单击提交按钮后在服务器中运行 jsp 页面时,它会引发异常:-

java.io.FileNotFoundException: C:\Program Files\Java\jre1.6.0_03\bin\keystore (The system cannot find the path specified)...
java.lang.StackOverflowError...

有人可以建议我在这里做什么吗?

4

1 回答 1

0

你必须使用org.apache.tomcat.util.http.fileupload.DiskFileUpload

              DiskFileUpload fu = new DiskFileUpload();
              fu.setSizeThreshold(1024);
              fu.setRepositoryPath(System.getProperty("java.io.tmpdir"));
              List fileList = fu.parseRequest(request);
              InputStream uploadedFileStream = null;
              for (Iterator i = fileList.iterator(); i.hasNext(); )
              {
                FileItem fi = (FileItem)i.next();
                if (fi.getSize() < 1)
                  {
                    throw new Exception("No file was uplaoded");
                  }

                  uploadedFileStream = fi.getInputStream();
                  excel.readExcelSheet(uploadedFileStream );
              }
}

在 ExcelRead 中,您必须将方法参数更改为readExcelSheet(InputStream is) Hope it help you。

于 2012-08-09T07:29:45.873 回答