Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java linux中发生FileNotFoundException_Java_Linux_Apache Poi_Filenotfoundexception - Fatal编程技术网

Java linux中发生FileNotFoundException

Java linux中发生FileNotFoundException,java,linux,apache-poi,filenotfoundexception,Java,Linux,Apache Poi,Filenotfoundexception,在Linux中,我将test.xls文件放在以下路径下 /usr/local/poi/template/test.xls 然后,使用以下java代码访问上述xls文件 FileInputStream in = new FileInputStream("/usr/local/poi/template/test.xls"); Workbook wb = WorkbookFactory.create(in); 但当我运行这段代码时,我只得到FileNotFoundException 如何修复它

在Linux中,我将test.xls文件放在以下路径下

/usr/local/poi/template/test.xls
然后,使用以下java代码访问上述xls文件

 FileInputStream in = new FileInputStream("/usr/local/poi/template/test.xls");
 Workbook wb = WorkbookFactory.create(in);
但当我运行这段代码时,我只得到FileNotFoundException


如何修复它?

linux区分大小写,因此请确保正确拼写路径。此外,问题可能是权限问题,您可能会被拒绝访问。chmod 777 fileName应该有帮助。

可能是路径/usr/local/poi/template/test.xls不可访问,或者文件本身不可访问。您应该确保运行java程序的用户可以访问所有directores/usr/local/poi/template,并且文件具有+r访问模式。

我认为问题可能是文件路径或权限问题

1尝试使用命令提示符下的相同路径打开文件,或尝试使用cat命令作为当前文件路径

2还尝试列出该特定目录下的所有文件,并查看该文件是否存在

尝试这两种方法都可以得到解决方案

检查文件路径注意大小写,linux区分大小写

检查文件权限,您可以相应地修改权限 -必须将文件的权限授予运行程序java进程的用户/用户组


出于调试目的,请向使用chmod在文件上运行程序777的用户提供该文件是否由同一用户读取?也就是说,您可以cat/usr/local/poi/template/test.xls吗?将文件放在另一个可以访问的位置。这听起来可能很傻,但文件与代码在同一台机器上吗?只有我见过这样的情况,人们在忘记部署到webapp服务器时,他们的代码无法再看到开发桌面上的文件后,也会遇到同样的问题!现在,将该文件移到/var/local/poi/template/下而不是/usr/local/poi/template/下就可以了。但还是不明白为什么。我对这两条路径都设置了相同的完全权限