Tomcat用类加载器访问相对路径文件
在IntelliJ IDEA上使用Tomcat做web容器时,再以普通的java项目的相对路径访问文件,即:
//相对路径src/a.txt
FileInputStream in = new FileInputStream("src\\a.txt");
就会出现 java.io.FileNotFoundException 异常。
这是因为Tomcat启动后,是将该项目打包后,将class文件放在Tomcat安装目录下的 \webapps\xct\WEB-INF\classes 目录下。所以项目运行起来后目录结构变了,自然访问会出错。
比较简单的解决方法就是用类加载器
//相对路径以src为根(注:本类名:所在类的类名)
//Objects.requireNimNull用来