浅谈Java工程读取resources中资源文件路径的问题

时间:2022-01-13 08:01:46

正常在java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径。在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例。

浅谈Java工程读取resources中资源文件路径的问题

本地读取资源文件

java类中需要读取properties中的配置文件,可以采用文件(file)方式进行读取:

?
1
2
file file = new file("src/main/resources/properties/basecom.properties");
inputstream in = new fileinputstream(file);

当在eclipse中运行(不部署到服务器上),可以读取到文件。

服务器(tomcat)读取资源文件

当工程部署到tomcat中时,按照上边方式,则会出现找不到该文件路径的异常。经搜索资料知道,java工程打包部署到tomcat中时,properties的路径变到顶层(classes下):

浅谈Java工程读取resources中资源文件路径的问题

并且,此时读取文件需要采用流(stream)的方式读取,如下:

?
1
inputstream in = this.getclass().getresourceasstream("/properties/basecom.properties");

其中properties前的斜杠,相对于调用类,共同的顶层路径。

以上这篇浅谈java工程读取resources中资源文件路径的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。