`

java.io.FileNotFoundException:文件名、目录名或卷标语法不正确

    博客分类:
  • java
 
阅读更多
   哎呀,现在可真是双重心情呀,真的是既兴奋又悲叹呀!兴奋地是这个"文件不存在的"的bug终于解决了,悲剧的是解决它浪费了我好长时间。以后碰到bug就得记录下来,可以作为经验之谈了,避免以后再犯类似的错误。
  我的错误是调用用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)

分享到:
评论
1 楼 zhixinghe1 2016-05-20  
很好,被这个问题折腾的够呛,原来是Windows不支持文件命名里带*等特殊字符,要不得死活转不过去

相关推荐

    java.io.FileNotFoundException: *****(Too many open files)

    在Java编程中,"java.io.FileNotFoundException: ***** (Too many open files)" 是一个常见的错误,意味着程序尝试打开的文件数量超过了操作系统的限制。这个错误通常出现在处理大量文件或长时间运行的程序中,尤其...

    System.IO.FileNotFoundException报错

    System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies....

    文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法

    在Java开发过程中,使用文件I/O操作时遇到java.io.FileNotFoundException异常是一个比较常见的问题。即使文件路径正确无误,也可能会因为多种原因导致这个异常的发生。该异常属于编译时异常,即必须显式处理才能通过...

    最最常用的 100 个 Java类分享

    6. `java.io.File`:File类用于表示文件和目录路径名的抽象表示。 7. `java.io.InputStream`:InputStream是所有字节输入流的基类,用于读取字节数据。 8. `java.util.Set`:Set接口表示不允许重复元素的集合。 9...

    java POI读取Excel文件基本用法Demo

    Java POI库是Apache软件基金会开发的一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本示例"Java POI读取Excel文件基本用法Demo"中,我们将深入探讨如何使用Java POI库来...

    解决docker日志挂载的问题

    关键是本地服务器没有写入的权限 关键看这里吧(Permission denied), 一直没有看正方,以为是配置... java.io.FileNotFoundException: logs/bandwidth.log.2019-04-25.log (Permission denied) at java.io.FileNotFou

    jdk1.8.131

    java运行环境jdk1.8.0_131,windows下64位操作系统,添加环境变量JAVA_HOME:C:\Program Files\Java\jdk1.8.0_131 classpath:.,C:\Program Files\Java\jdk1.8.0_131jre\lib\rt.jar,C:\Program Files\Java\jdk1.8.0_131\...

    eclipse 启动异常

    启动eclipse 时出现错误警告

    FileNotFoundException: open failed: ENOENT (No such file or directory) 问题解决方案

    可能每个人遇到的问题情况不一样,我先说下我出现的问题解决方案:将mkdir() 改成mkdirs() ,至于为什么,后面介绍。 今天测试找我,说项目中测试录像直接crash了。我一脸懵圈,之前不都好好的吗?这个项目之前别人...

    大数据hadoop winutils.exe

    而针对Windows用户,开发和运行Hadoop应用时会遇到一个常见问题:“Did not find winutils.exe: java.io.FileNotFoundException”。这个错误是由于Hadoop在Windows环境下找不到`winutils.exe`文件所引起的。`...

    java.io包讲解

    ### Java.io包详解 #### 一、概述 Java.io包是Java编程语言中非常重要的一个标准库,它提供了丰富的类和接口,支持多种输入/输出流的处理方式,包括文件I/O、网络通信等场景。Java.io包的核心设计思想是以流...

    window 本地执行 hadoop 缺失的hadoop.dll 和 winutils.exe 文件

    Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. at org.apache.hadoop.util.Shell.checkHadoopHomeInner(Shell.java:468) at org.apache.hadoop.util.Shell....

    java 解析excel

    Java解析Excel是Java开发中常见的任务,特别是在处理数据导入导出、数据分析或自动化测试场景下。Apache POI库是Java领域最广泛使用的工具之一,专门用于读取和写入Microsoft Office格式的文件,包括Excel(.xls和....

    java.io的基础应用

    在Java中,IO操作主要分为字节流和字符流两大类,分别由`java.io.InputStream`和`java.io.OutputStream`以及`java.io.Reader`和`java.io.Writer`作为基类。字节流处理的是8位的字节,而字符流处理的是16位的Unicode...

    ICSharpCode.SharpZipLib【内含0.86.0.518版本和0.84.0.0版本】

    System.IO.FileNotFoundException:“未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73”或它的某一个依赖项。系统找不到指定的文件。” ...

    websphere常见问题及解决办法

    WebSphere 是一个基于 Java 的应用服务器,广泛应用于企业级应用开发中。然而,在实际开发和部署过程中,可能会遇到一些棘手的问题,影响应用程序的稳定性和性能。 Error 404: SRVE0190E 的解决办法 Error 404: ...

    JAVA常见异常解析,面试用

    - **java.io.FileNotFoundException**:打开或创建指定的文件失败时抛出。 - **java.lang.NumberFormatException**:尝试将字符串转换为数字类型,但格式不正确时抛出。 - **java.sql.SQLException**:处理数据库...

    Java二进制方式读取文件.doc

    - `java.io.File`: 用于文件和目录路径名的抽象表示。 - `java.io.FileInputStream`: 用于从文件中读取字节的输入流,以二进制方式。 - `java.io.FileOutputStream`: 提供写入文件的输出流,同样支持二进制方式。...

    java.io.FileNotFoundException(解决方案).md

    项目中碰到的,记录一下解决方案

Global site tag (gtag.js) - Google Analytics