java - 无法从 jar 存档加载文件

标签 java image swing maven intellij-idea

我是初级程序员,我尝试编写经典的贪吃蛇游戏。 我使用 Maven 构建我的项目并在 IntelliJ IDEA 中工作。 我将纹理放入文件夹

src\main\resources\com\github\poseydon42\snakegame\assets

这是一个简单的 png 文件,名为 Snake_head.png。 然后我尝试使用此代码从我的代码加载此图像

ImageIO.read(new File(getClass().getResource("/com/github/poseydon42/snakegame/assets/snake_head.png").getFile()));

但是我有这个错误:

Exception in thread "main" java.lang.NullPointerException
at com.github.poseydon42.snakegame.Game.<init>(Game.java:22)
at com.github.poseydon42.snakegame.Main.main(Main.java:10)

如何加载此图像。

P.S.:它在 IDE 和使用内置 jar 文件的 cmd 中不起作用。

最佳答案

尝试一下

ImageIO.read(getClass().getResourceAsStream("/com/github/poseydon42/snakegame/assets/snake_head.png")));

关于java - 无法从 jar 存档加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45694606/

相关文章:

java - 无法连接到 zookeeper,然后 hbase master 关闭

java - 第 5 章中的 Spring MVC 和 Spring 实战 : can't redirect to home. jsp

java - 需要转换成二维数组的String ArrayList

java - 使用多个 java 概念的箭头悲伤游戏

image - Matlab - 创建不同大小的子图的图形

java - 在 JPanel 中加载图像

Java - 添加输入按钮

java - 使用 Component.createImage(ImageProducer) 和自定义 ImageProducer 在 Java 中创建图像

android - ImageButton 背景没有改变

java - 使用 FlowLayout 将 JPanel 添加到 JFrame