Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Class.Class.GetResourcesStream(String)总是返回null?_Java - Fatal编程技术网

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

该包还包含与我的项目相关的两个附加文件:
应用程序
类和
控制台
接口

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

如果此对象是由引导类装入器装入的,则方法 委托给
ClassLoader.getSystemResourceAsStream

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

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

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

Application.class.getResourceAsStream("/blank.png")
2) 将图像放在resources文件夹中,在这种情况下,
getSystemResourceAsStream
也会找到它:

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