我正在将一个excel文件上传到tomcat服务器。哪个保存在我的eclipse目录D:\workspace_Eclipse\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\StatusPortal\Job_doc\abc.xls
当我访问此文件时,我找不到文件Exception \Job_doc\abc.xls
。
它无法找到我在访问文件时给出的路径,如
\Job_doc\abc.xls
我在访问时提供路径\Job_doc\abc.xls
。
答案 0 :(得分: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);
答案 1 :(得分:0)
这是因为您使用的是相对路径。 Eclipse将使用当前工作目录作为部署webapp的临时位置。因此,文件被上传到相对于此路径的文件夹(当您从eclipse Run On Server
启动应用程序时会发生这种情况。将路径定义为静态常量(可能您可以使用绝对路径进行测试)。经过测试,您可以使用生产部署的相对路径。
不过,你可以采取其他方式。不要使用Eclipse的集成tomcat服务器。使用独立服务器,使用描述符文件将工作区中的webapp链接到tomcat。保存之后,只需在tomcat管理器中重新加载应用程序并尝试。