博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java.io.FileNotFoundException:文件名、目录名或卷标语法不正确
阅读量:5915 次
发布时间:2019-06-19

本文共 3359 字,大约阅读时间需要 11 分钟。

hot3.png

 
java.io.FileNotFoundException: file:\D:\software\workspaceower\qms_sc\webroot\WEB-INF\classes\templates\persons.xls (文件名、目录名或卷标语法不正确。)
使用getClass().getResource("/")少了个 getPath
我的错误是调用用poi生成excel文件的方法后,死活就是给我报java.io.FileNotFoundException: D:\ProgramTools\apache-tomcat-6.0.26\webapps\BAW-phaseM\excel\ttakeinventory\2011-10-30_2011-11-26 23:59:59_YS_no_checked_.xls (文件名、目录名或卷标语法不正确。)   的错误。我前思后想,来回跟踪,都没有问题,就是到写入excel文件的时候,愣是写不进去。没办法了,只好请教了一下同事,他看到这个错误后就给我说是因为excel命名的问题,windows下的文件名不允许出现23:59:59类似这样的字符的。后来经验证,果然是这样,我就重新修改了一下名字,这份excel就顺利的诞生啦!哈哈。。真是太高兴啦!
Windows 中文件夹命名规则是:
① 文件名或文件夹名可以由1~256个西文字符或128个汉字(包括空格)组成,不能多于256个字符。
② 文件名可以有扩展名,也可以没有。有些情况下系统会为文件自动添加扩展名。一般情况下,文件名与扩展名中间用符号“.”分隔。
③ 文件名和文件夹名可以由字母、数字、汉字或~、!、@、#、$、%、^、&、( )、_、-、{}、’等组合而成。
④ 可以有空格,可以有多于一个的圆点。
⑤ 文件名或文件夹名中不能出现以下字符:\、/、:、*、?、"、<、>、| 。
⑥ 不区分英文字母大小写。
    还有一种java.io.FileNotFoundException的错误,这种错误其实也是因为在这个路径中不存在这个jsp的编译文件。这个错误是我在发布程序到生产机上之后遇到的,原来是因为没有给这个jsp编译,最高效的解决办法是把本地生成的这个jsp的.java和.class文件copy到编译的文件的路径下面。如果是多个jsp文件都是没有编译的话,那就关闭tomcat,清楚缓存,就是把/usr/local/tomcat/work/Catalina的Catalina文件删除,重启就好了。
java.io.FileNotFoundException: /usr/local/tomcat/work/Catalina/localhost/User/org/apache/jsp/caiwushenhe_005fpicking_jsp.java (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:141)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

转载于:https://my.oschina.net/longload/blog/710571

你可能感兴趣的文章
threejs中让物体围绕指定轴旋转
查看>>
VIM一般模式
查看>>
SqlServer数据库(可疑)解决办法4种
查看>>
使用PHP辅助快速制作一套自己的手写字体实践
查看>>
(四)整合spring cloud云服务架构 - HongHu企业分布式微服务云架构
查看>>
EL表达式详解
查看>>
JAVA基础--QR_Code二维码生成
查看>>
如何正确获取用户 IP (避免透明代理,避免伪造 HTTP_X_FORWARDED_FOR)
查看>>
postMan下载
查看>>
多线程学习--线程内共享对象ThreadLocal
查看>>
nginx负载均衡、配置ssl
查看>>
Java开发中存在这样的代码,反而影响整体整洁和可读性
查看>>
DateTimeContinousAxis 和 DateTimeCategoryAxis 轴的选择
查看>>
Spring Batch框架流程
查看>>
mybatis与hibernate的对比
查看>>
硬分叉升级加速BCH相关应用研发
查看>>
webpack配置(第二步:入门篇)
查看>>
比特币现金开发者提出新的交易订单规则
查看>>
想发现新材料?机器学习人工智能可以帮忙找到答案
查看>>
拜占庭将军问题(转自维基百科)
查看>>