gpt4 book ai didi

java - getResourceAsStream 类与 getClass()

转载 作者:行者123 更新时间:2023-11-30 04:20:15 26 4
gpt4 key购买 nike

我正在维护一段代码,但不确定条件。

resourceStream = StorageEngine.class.getResourceAsStream(resourceFile);
if (resourceStream == null) {
log.info("StorageEngine: didn't find resource file in the classes root ");
resourceStream = this.getClass().getResourceAsStream(resourceFile);
}

StorageEngine.class.getResourceAsStream 和 this.getClass().getResourceAsStream 之间真的有区别吗?

TIA

最佳答案

Is there really a difference between StorageEngine.class.getResourceAsStream and this.getClass().getResourceAsStream ?

是的,绝对。

  • 如果资源名称是相对名称,则它将相对于包含相关类的包
  • 如果两个类位于不同的类加载器中,一个类可能能够访问资源,而另一个则不能

当然,如果 thisStorageEngine 的实例(而不是子类),那么它们确实是等效的。

关于java - getResourceAsStream 类与 getClass(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17217686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com