图像只会在调试中加载,但不会在调试Java之外运行时加载

时间:2012-10-24 13:53:37

标签: java image filepath

我正在试图弄清楚我的图像只会在NetBeans中加载调试的方式和原因,但是当我执行JAR文件时,它将无法加载图像。我已经尝试调试代码来修复路径中的问题,但任何更改的语句都不会对它产生影响。

以下是产生问题的代码。

String imagePath = getClass().getResource("/StandardDeck/GameCards/"+ toString() +".png").getPath();

在执行file.exists()时,它总是返回false。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

将应用程序打包到JAR文件后,您的方法将无法运行。您不会使用java.io.File类访问JAR内的图像。

您需要使用getResourceAsStream方法

InputStream imageStream = getClass().getResourceAsStream("/StandardDeck/GameCards/"+ toString() +".png");

要开始使用图片,请尝试:

ImageInputStream imageInputStream = ImageIO.createImageInputStream(imageStream);