SpringBoot-读取classpath下文件

  开发过程中,必不可少的需要读取文件,对于打包方式的不同,还会存在一些坑,比如以jar包方式部署时,文件都存在于jar包中,某些读取方式在开发工程中都可行,但是打包后,由于文件被保存在jar中,会导致读取失败。 

  这时就需要通过类加载器读取文件,类加载器可以读取jar包中的class类当然也可以读取jar包中的文件。

// 方法1:获取文件或流

this.getClass().getResource("/")+fileName; this.getClass().getResourceAsStream(failName);

// 方法2:获取文件 File file = org.springframework.util.ResourceUtils.getFile("classpath:test.txt");

// 方法3:获取文件或流

ClassPathResource classPathResource = new ClassPathResource("test.txt"); classPathResource .getFile();

classPathResource .getInputStream();

// >>>>>>>>>>>>>>>> 下面方法可以读取jar包下文件

// 方法1

InputStream io = Thread.currentThread().getContextClassLoader().getResourceAsStream("test.txt");

// 方法2

InputStream io = ClassLoader.getSystemResourceAsStream("test.txt"); 

你可能感兴趣的:(SpringBoot-读取classpath下文件)