之前想获取一个资源文件做一些处理,使用getClass().getResourceAsStream()一直拿不到文件。 具体的用法。

1 InputStream is = this.getClass().getResourceAsStream(fileName);  //拿不到资源
2 InputStream is = this.getClass().getResourceAsStream("/" + fileName); // 拿到资源
3 InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileName); //拿到资源

  

具体文件和代码的位置是,代码在src/main/java目录下,资源文件在src/main/resources/目录下。

会从当前类的目录下去找,这个文件如果不和该类在一个目录下,就找不到。

会从编译后的整个classes目录下去找,maven也会把资源文件打包进classes文件夹,所以可以找到。

ClassLoader就是从整个classes文件夹找的,所以前面无需再加/。

相关文章:

  • 2021-11-28
  • 2021-11-27
  • 2021-06-21
  • 2022-12-23
  • 2021-07-23
  • 2021-05-19
  • 2021-07-14
猜你喜欢
  • 2022-12-23
  • 2021-09-28
  • 2021-08-17
  • 2021-10-05
  • 2021-08-30
  • 2022-01-09
  • 2022-12-23
相关资源
相似解决方案