gpt4 book ai didi

java - 为什么 Class.class.getResourceAsStream(String) 总是返回 null?

转载 作者:行者123 更新时间:2023-11-30 06:18:44 31 4
gpt4 key购买 nike

我尝试获取.png来 self 的类​​路径内部的图像 .jar文件,这样就不会依赖于单独的 resource .jar 旁边的文件夹。我尝试在 Class.class.getResourceAsStream(String) 的帮助下做到这一点方法。然而,即使在确保.png的路径之后图像有效,该方法仍然返回 null 。文件的路径是:

source/org/linear/blank.png

该软件包还包含两个与我的项目相关的附加文件:Application类和 Console界面。

最佳答案

由于Class类是由引导类加载器加载的,Java文档说

If this object was loaded by the bootstrap class loader, the method delegates to ClassLoader.getSystemResourceAsStream

此方法会在 resources 文件夹中查找资源。

因此,要使您的代码正常工作,您有两种选择:

1) 使用您的类之一,例如 Application,而不是 Class。在这种情况下,资源路径相对于 Application 类的位置进行解析:

Application.class.getResourceAsStream("/blank.png")

2) 将您的图像放入资源文件夹中,在这种情况下 getSystemResourceAsStream 也会找到它:

Class.class.getResourceAsStream("/blank.png")

关于java - 为什么 Class.class.getResourceAsStream(String) 总是返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631232/

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