SpringBoot下读取项目下的文件,并在打包成jar下也可用的方式汇总

2022-07-05 610点热度 0人点赞 0条评论

SpringBoot项目里,我们可能需要读取一些自定义的配置文件等,这些文件放在resources目录下,有时候,我们在idea开发时明明是可以读取到文件的,一旦打包成jar放到服务器上运行就会报错,说找不到指定的文件。

方面整理了几个我平常项目中读取resources(或者resources下面子文件夹)下的文件的方式

  • 方式1

class.getClassLoader().getResourceAsStream

String fileContent = IOUtils.toString(MyApplication.class.getClassLoader().getResourceAsStream("application.properties"));
  • 方式2

org.springframework.core.io.FileSystemResourceLoader

new FileSystemResourceLoader().getResource("classpath:application.yml");
  • 方式3

使用@Value注解自定注入Resource

import org.springframework.beans.factory.annotation.Value;

@Value(value = "classpath:/assets/some_file.jpg")
private org.springframework.core.io.Resource someFileJPG;
  • 方式4

org.springframework.core.io.ClassPathResource

ClassPathResource resource = new ClassPathResource("assets/some_file.jpg");
resource.getInputStream();

someFileJPG是个Resoruce类,可以有.getInputStream()方法,其他方法在IDEA提示下也可以点一下看看。

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论