如何在Java Spring项目中用Tomcat打开文件?

问题描述 投票:0回答:1

我有一个Java Spring项目,在某个包里有一个文件(In project).但是当我想打开它时。

Tomcat处理它,并在C:\Tools\apache-tomcat-9.0.35\bin中搜索这个文件。

我在获取文件时出现以下异常 new File("./src\\main\\resources\\directory\\myFile.txt");

异常情况

java.io.FileNotFoundException: C:\Tools\apache-tomcat-9.0.35\bin\src\main\resources\directory\myFile.txt
java spring file tomcat filenotfoundexception
1个回答
0
投票

问题是你使用的相对文件位置是".src\main\resources\directory\myFile.txt"。

当你的代码在tomcat上运行时,你的当前目录是 "C:\Tools\apache-tomcat-9.0.35\bin",这就是为什么绝对路径是 "C:\Tools\apache-tomcat-9.0.35\binsrc\main\resources\directory\myFile.txt"

可能的解决办法。

  1. 将该文件作为资源纳入,并使用classpath加载器加载。 见下面的例子。

  2. 使用文件的绝对路径。(不是一个好的解决方案)

此链接中的例子 从Spring Boot的资源文件夹中读取文件

File file = new File(getClass().getResource("directory/myFile.txt").getFile());
© www.soinside.com 2019 - 2024. All rights reserved.