Java 为什么Class.Class.GetResourcesStream(String)总是返回null?
我试图从Java 为什么Class.Class.GetResourcesStream(String)总是返回null?,java,Java,我试图从.jar文件的类路径中获取.png图像,这样就不需要依赖.jar旁边单独的资源文件夹。我在Class.Class.getResourceAsStream(String)方法的帮助下尝试了这样做。但是,即使在确保.png图像的路径有效后,该方法仍然返回null。文件的路径为: source/org/linear/blank.png 该包还包含与我的项目相关的两个附加文件:应用程序类和控制台接口 AsClassClass是由引导类加载器加载的,Java文档说明 如果此对象是由引导类装入器装
.jar
文件的类路径中获取.png
图像,这样就不需要依赖.jar
旁边单独的资源
文件夹。我在Class.Class.getResourceAsStream(String)
方法的帮助下尝试了这样做。但是,即使在确保.png
图像的路径有效后,该方法仍然返回null
。文件的路径为:
source/org/linear/blank.png
该包还包含与我的项目相关的两个附加文件:
应用程序
类和控制台
接口 AsClass
Class是由引导类加载器加载的,Java文档说明
如果此对象是由引导类装入器装入的,则方法
委托给ClassLoader.getSystemResourceAsStream
此方法在resources
文件夹中查找资源
因此,要使代码正常工作,您有两个选择:
1) 使用一个类,例如,Application
,而不是Class
。在这种情况下,相对于应用程序的位置解析资源路径
类:
Application.class.getResourceAsStream("/blank.png")
2) 将图像放在resources文件夹中,在这种情况下,getSystemResourceAsStream
也会找到它:
Class.class.getResourceAsStream("/blank.png")