当使用SpringBoot进行开发时,有时候需要读取Resource文件夹下的文件,本文将介绍4种读取Resource下文件的方法。
方法一:使用ClassLoader.getResourceAsStream()
ClassLoader.getResourceAsStream()方法可以获取资源在classpath下面的任意资源。如下所示:
InputStream input = getClass().getClassLoader().getResourceAsStream("config.properties");
其中,config.properties是位于classpath下面的resource/config.properties文件。
方法二:使用Class.getResourceAsStream()
以下代码展示如何使用Class.getResourceAsStream()方法加载资源:
InputStream input2 = getClass().getResourceAsStream("/config.properties");
区别于上面的方法,这里的路径以“/”开头,代表resource根目录。
方法三:使用ResourceLoader
下面示例展示了如何通过注入ResourceLoader读取资源文件:
@Autowired
private ResourceLoader resourceLoader;
public void readResource() throws IOException {
Resource resource = resourceLoader.getResource("classpath:config.properties");
InputStream input3 = resource.getInputStream();
}
在实际使用中,注入ResourceLoader后,可以通过ResourceLoader.getResource()方法来获取文件读取流。
方法四:使用@Value注入属性值
在application.properties中添加配置信息:
my.property.filepath=classpath:config.properties
然后在代码中可以如下所示使用:
@Value("${my.property.filepath}")
private Resource resource;
public void readResource() throws IOException {
InputStream input4 = resource.getInputStream();
}
通过@Value注解和${}表达式来加载资源文件。
至此,讲解了SpringBoot读取Resource下文件的4种方法,可以根据实际情况选择不同的方法来进行读取文件操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot读取Resource下文件的4种方法 - Python技术站