java.io.FileNotFoundException:

本文详细解析了一个关于Struts框架中的BookAction类发生的FileNotFoundException异常,该异常源于对一个不存在的文件路径进行操作。文章深入探讨了如何通过检查TOMCAT server.xml配置文件中的URIEncoding设置来解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[quote]ERROR [http-8080-3] BookAction.w(237) | 异常
java.io.FileNotFoundException: D:\?¤???§???????§??????????\?¤???§?????????????????? (系统找不到指定的路径。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at com.square.usermodule.webapp.action.system.BookAction.w(BookAction.java:227)
at com.square.usermodule.webapp.action.system.BookAction.dl(BookAction.java:202)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at com.square.businessmodule.webapp.action.AbstractBaseAction.execute(AbstractBaseAction.java:120)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)[/quote]

为什么会出现以上问题

需要注意 TOMCAT server.xml 中

[quote]<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />[/quote]

是否添加 URIEncoding="UTF-8"

[url=http://www.chinab2c.net/]杭州触手信息技术有限公司[/url]
### 回答1: "java.io.filenotfoundexception" 是 Java 编程语言中的一种异常,表示在程序中找不到指定的文件。当程序尝试打开一个不存在的文件或访问一个不存在的文件路径时,会抛出这个异常。 ### 回答2: java.io.FileNotFoundExceptionJava中的一个异常类,表示在尝试打开或读取文件时,找不到指定的文件。通常在使用文件操作的时候会经常遇到这个异常。 当程序遇到FileNotFoundException时,通常会报出相应的信息,指出哪个文件找不到,以及具体的原因。通常是文件名拼写错误、文件路径错误、文件被删除或移动了、权限问题等等。 为了解决FileNotFoundException,需要仔细检查代码中文件路径是否正确,并确认文件是否存在。在使用绝对路径时,需要保证路径的正确性;在使用相对路径时,需要注意当前工作目录的问题。如果程序运行时没有足够的权限读取文件,需要修改文件权限或在代码中使用管理员权限来操作文件。 在处理FileNotFoundException时,还需要注意程序的异常处理机制。对于这种IO异常,通常应该使用try...catch语句来捕捉并处理异常,以避免程序终止或出现异常信息。同时,也应该输出合适的错误信息,以便调试和修复问题。 总之,处理FileNotFoundException需要仔细检查程序的文件路径和权限,并使用合适的异常处理机制来保证程序的稳定和正确性。 ### 回答3: Java中的FileNotFoundException(文件未找到异常)是一个运行时异常,它表示在尝试访问不存在的文件时发生了问题。 当Java程序无法找到指定的文件时,就会发生这个异常。在尝试使用Java IO库读取或写入文件时,如果指定的文件路径无效或文件不存在,则会抛出FileNotFoundException。 在Java中,可以使用File类来表示一个文件或目录,并使用FileInputStream和FileOutputStream来读取和写入文件的内容。但是在进行这些操作之前,必须确保文件路径是正确的,否则就会导致FileNotFoundException错误。 这个异常通常是由以下几种情况引起的: 1.文件名或路径错误:这可能是由于指定的文件名或路径不正确而引起的。在读取或写入文件时,请确保文件路径和文件名正确。 2.文件不存在:当尝试访问不存在的文件时,就会抛出FileNotFoundException。如果文件存在,但另一个应用程序正在使用该文件,则可能需要等待一段时间。 3.权限问题:文件系统中的文件或目录可能受到保护,需要特殊权限才能访问它们。如果您尝试访问没有权限的文件,则会出现FileNotFoundException错误。 为了避免出现FileNotFoundException错误,您应该始终检查文件是否存在,并确保指定的文件名和路径是正确的。如果您不确定文件路径或文件名,请使用Java File类中的exists()方法来检查文件是否存在。如果文件存在,则可以安全地读取或写入它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值