0

我正在将一个 excel 文件上传到 tomcat 服务器。哪个保存在我的 eclipse 目录中D:\workspace_Eclipse\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\StatusPortal\Job_doc\abc.xls

每当我访问此文件时,它都会给我文件未找到异常\Job_doc\abc.xls。它无法找到我在访问文件时提供的路径,例如 \Job_doc\abc.xls

\Job_doc\abc.xls 在访问时给出了路径。

4

2 回答 2

0

尝试使用ClassLoader如下方式读取您的文件:

   InputStream inputStream = 
          getClass().getClassLoader().getResourceAsStream("/Job_doc/abc.xls");
   BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream ));

如果要获取File对象,请尝试如下:

  URI uri = getClass().getClassLoader().getResource("/Job_doc/abc.xls").toURI();
  File file = new File(uri);
于 2012-11-19T05:29:34.480 回答
0

这是因为您使用的是相对路径。Eclipse 将使用当前工作目录作为部署 webapp 的临时位置。因此文件被上传到相对于该路径的文件夹(当您从 eclipse 启动应用程序时会发生这种情况Run On Server。将路径定义为静态常量(可能您可以使用绝对路径进行测试)。测试后您可以使用相对路径生产部署。

不过,你可以换一种方式。不要使用 Eclipse 的集成 tomcat 服务器。使用独立服务器,使用描述符文件将工作空间中的 webapp 链接到 tomcat。保存后,只需在tomcat管理器中重新加载应用程序并尝试。

于 2012-11-19T05:30:57.287 回答