Java 从JAR中访问png

Java 从JAR中访问png,java,image,jar,Java,Image,Jar,目前,我有一个编译过的JAR文件,如下所示: RunMe.jar -GUIFile.class -Main.class -Notify.class -resources --sprites ---myimg.png -com --random ---package ----MakeNotify.class 请向我解释如何在MakeNotify.java 感谢您提前提供的所有建议。这取决于您的阅读方式,但通常情况下,您希望使用Class#getReso

目前,我有一个编译过的JAR文件,如下所示:

RunMe.jar  
-GUIFile.class  
-Main.class  
-Notify.class  
-resources  
--sprites  
---myimg.png  
-com  
--random  
---package  
----MakeNotify.class  
请向我解释如何在
MakeNotify.java


感谢您提前提供的所有建议。

这取决于您的阅读方式,但通常情况下,您希望使用
Class#getResource
Class#getResourceAsStream

类似于

 BufferedImage img = ImageIO.read(getClass().getResource("/resources/sprites/myimg.png"));

例如…

另外,检查资源是否已编译到war/jar/ear中。Maven将确保这一点,但您的项目目录结构看起来不像Maven项目。@kiwiron因为根是
RunMe.jar
I假设这是打包输出正确的,这是打包输出。这些文件都在jar文件中!在javax.imageio.imageio.read(未知源代码)中,如果您得到
null
输入,则图像不是您认为的位置,或者不是您认为的命名方式(路径区分大小写)