FileInputStream 系统找不到指定文件 急!!!

时间:2021-01-12 16:11:12
java.io.FileNotFoundException: D:\abc.xls (系统找不到指定的文件。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(FileInputStream.java:106)
 at java.io.FileInputStream.<init>(FileInputStream.java:66)
 at com.keysoft.upload.uploadxls.perform(uploadxls.java:71)
 at charisma.web.mvc.MainServlet._$1(Unknown Source:456)
 at charisma.web.mvc.MainServlet._$1(Unknown Source:180)
 at charisma.web.mvc.MainServlet.doPost(Unknown Source:93)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
我就贴这么多异常啊,后面的就不用看了
JAVA代码是
FileInputStream fs = new FileInputStream("D:\\abc.xls");
路径是对的,文件也有,就是找不到。。。。我实在没办法了
各位大哥,帮帮小弟吧

11 个解决方案

#1


该回复于2010-08-25 09:50:24被版主删除

#2


按道理说没什么错。。。

你取本机还是服务器端的文件?

这行代码只能取到服务器端的文件。。如果取客户端的就不行喽。。

#3


不同环境下的路径是不一样的。你用System.getProperty("file.separator")来替换‘\\’,就应该没问题了

#4


没问题啊,把\\改为/试试。

#5


public FileInputStream(String name)
                throws FileNotFoundException通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。创建一个新 FileDescriptor 对象来表示此文件连接。 
首先,如果有安全管理器,则用 name 作为参数调用其 checkRead 方法。 

如果指定文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取,则抛出 FileNotFoundException。 


参数:
name - 与系统有关的文件名。 
抛出: 
FileNotFoundException - 如果该文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取。 

#6


我试了下程序,没问题。是不是你的文件扩展名隐藏了,实际的文件是D:\abc.xls.xls呢???

#7


把abc.xls 放到程序目录下

直接FileInputStream fs = new FileInputStream("abc.xls");

#8


引用 6 楼 wangyi123 的回复:
我试了下程序,没问题。是不是你的文件扩展名隐藏了,实际的文件是D:\abc.xls.xls呢???

应该是这个问题
在我机上也管用

#9


上面说的对,是不是隐藏后缀了?

#10


找不到就是找不到呗.

#11


改成"/"试试

#1


该回复于2010-08-25 09:50:24被版主删除

#2


按道理说没什么错。。。

你取本机还是服务器端的文件?

这行代码只能取到服务器端的文件。。如果取客户端的就不行喽。。

#3


不同环境下的路径是不一样的。你用System.getProperty("file.separator")来替换‘\\’,就应该没问题了

#4


没问题啊,把\\改为/试试。

#5


public FileInputStream(String name)
                throws FileNotFoundException通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。创建一个新 FileDescriptor 对象来表示此文件连接。 
首先,如果有安全管理器,则用 name 作为参数调用其 checkRead 方法。 

如果指定文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取,则抛出 FileNotFoundException。 


参数:
name - 与系统有关的文件名。 
抛出: 
FileNotFoundException - 如果该文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取。 

#6


我试了下程序,没问题。是不是你的文件扩展名隐藏了,实际的文件是D:\abc.xls.xls呢???

#7


把abc.xls 放到程序目录下

直接FileInputStream fs = new FileInputStream("abc.xls");

#8


引用 6 楼 wangyi123 的回复:
我试了下程序,没问题。是不是你的文件扩展名隐藏了,实际的文件是D:\abc.xls.xls呢???

应该是这个问题
在我机上也管用

#9


上面说的对,是不是隐藏后缀了?

#10


找不到就是找不到呗.

#11


改成"/"试试