Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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 eclipse中的文件路径错误?(爪哇之春)_Java_Spring_Input_Io - Fatal编程技术网

Java eclipse中的文件路径错误?(爪哇之春)

Java eclipse中的文件路径错误?(爪哇之春),java,spring,input,io,Java,Spring,Input,Io,我在JavaSpring项目的src/main/resources文件夹中有一个文件。 我试图在我的一个控制器中创建一个inputstream,但是我总是得到一个file not found异常。当我将路径位置更改为专门指向我机器上的文件时,它可以正常工作 有没有办法在java项目中找到该文件?听起来您可以更改流程的工作目录——我怀疑它不是您认为的位置。例如,我建议你写 InputStream inp = new FileInputStream("src/main/resources/Expor

我在JavaSpring项目的src/main/resources文件夹中有一个文件。 我试图在我的一个控制器中创建一个inputstream,但是我总是得到一个file not found异常。当我将路径位置更改为专门指向我机器上的文件时,它可以正常工作

有没有办法在java项目中找到该文件?

听起来您可以更改流程的工作目录——我怀疑它不是您认为的位置。例如,我建议你写

InputStream inp = new FileInputStream("src/main/resources/ExportHour.xls");
然后记录
file.getAbsolutePath()
,查看它使用的确切文件

但是,您几乎肯定不会使用
FileInputStream
。最好使用以下内容:

File file = new File("src/main/resources/ExportHour.xls");
。。。对于某些类
Foo
,它有一个包含所需资源的类加载器

(或者可能是
/resources/ExportHour.xls“
,具体取决于构建结构。)

这样,即使您已将所有这些内容构建到jar文件中,您仍然可以打开资源。

听起来您可以更改流程的工作目录,我怀疑它不是您认为的位置。例如,我建议您编写

InputStream inp = new FileInputStream("src/main/resources/ExportHour.xls");
然后记录
file.getAbsolutePath()
,查看它使用的确切文件

但是,无论如何,您几乎肯定不应该使用
FileInputStream
。最好使用以下内容:

File file = new File("src/main/resources/ExportHour.xls");
…对于某些类
Foo
,它有一个包含所需资源的类加载器

(或者可能是
/resources/ExportHour.xls“
,具体取决于构建结构。)

这样,即使将所有这些都构建到jar文件中,您仍然可以打开资源。

尝试使用spring

这是因为maven中的resources文件夹直接放在jar文件中,即ExportHours.xls文件放在根目录中的jar中。

试试spring


这是因为Maven中的资源文件夹直接放在你的JAR文件中,即Exthurth.xLS文件放在你的JAR中的根目录中。

+ 1在写答案的中间,然后@乔恩SKET让我感到羞愧,另一个无瑕疵的答案+ 1写在回答的中间,然后@乔恩SKET让我感到羞愧。另一个完美的答案