Java 读取资源文件(resources file)

使用springboot自带的工具类即可。

import org.springframework.util.ResourceUtils;

比如我们要获取箭头所指文件:

Java 读取资源文件(resources file)_java

File file = ResourceUtils.getFile("classpath:lginfo/cppinfo.json");

这样就可以获取到了。


关于classpath

Java 读取资源文件(resources file)_war包_02

classpath指向的就是打war包之后的classes的位置。而classes文件夹下就是我们原项目的java文件和resources文件夹里面的内容。

总结


在编译打包后的项目中,根目录是META-INFWEB-INF 。这个时候,我们可以看到classes这个文件夹,它就是我们要找的classpath。

classpath:mybatis/SqlMapConfig.xml 中,classpath就是指WEB-INF/classes/这个目录的路径。需要声明的一点是,使用classpath:这种前缀,就只能代表一个文件

而另一种写法,classpath*:**/mapper/mapping/*Mapper.xml,使用classpath*:这种前缀,则可以代表多个匹配的文件**/mapper/mapping/*Mapper.xml,双星号**表示在任意目录下,也就是说在WEB-INF/classes/下任意层的目录,只要符合后面的文件路径,都会被作为资源文件找到。