java - java.io.FileNotFoundException: .\cfg\users(系统找不到指定的路径)
问题描述
我创建了一个动态 Web 项目(用于生成和发送报告)
Eclipse 中的项目层次结构
Project
src(folder)
-metier(Package)
-Util.java(Class)
-web
-ControlleurServlet.java (Servlet)
cfg(folder)
-USERS(file)
WebContent
- gui.jsp (Html form)
当我将 Util 类(方法:sendMail)作为 Java 项目运行时,它正在工作:
实用类:
public class Util {
static String cvsSplitBy = ";";
public static String MAILCONFIGURATION="./cfg/mailConfiguration";
public static String USERS="./cfg/users";
public static String SHIFTS="./cfg/shifts";
.
.
.
sendMail 方法从文件中检索一些数据。
但是当我在服务器上运行项目并从 Servlet 调用 sendMail 时,我收到了这个错误:
INFO: Server startup in 10135 ms
java.io.FileNotFoundException: .\cfg\users (The system cannot find the path specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at metier.Util.getUsers(Util.java:130)
at web.ControleurServlet.doGet(ControleurServlet.java:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1136)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
能否请你帮忙?
问候
解决方案
servlet 上下文未指向保存文件的相同路径,
因此您可以检查上下文路径并将文件夹保存在适当的位置。
它应该可以解决您的问题
推荐阅读
- php - 为什么我在在线上传大于 1MB 的文件时使用 Laravel5.4 得到 MethodNotAllowedHttpException,但它在 localhost 上完美运行?
- codeigniter - 在 Codeigniter 3.1.8 中使用购物车类是否安全
- android - 在 android build 中配置 lint 基线文件时出现 Lint 基础结构错误
- ios - 如何在身份验证时更新firebase中的电话号码
- python - 试图抓住某些元素
- docker - Docker swarm worker 节点错误的网关
- ios - 遇到警告“MKMapView 中的边界矩形错误”
- hashmap - 动态数据透视表的 HASHMAP 利用率
- java - 如何在 Java 中使用双向适配器和可插拔适配器?
- openjpa - 如何在 Spring Boot 项目中使用 OpenJPA 配置 JaVers