java - 仅当我在 cmd 中运行 .jar 文件时,ImageIO 才会抛出异常
问题描述
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
public class ImageLoader {
private final String fileLocal = System.getProperty("user.dir");
private int NumberOfImage;
public BufferedImage loadedImage;
public ImageLoader(int level){
NumberOfImage = level;
try {
Random random = new Random();
int n = random.nextInt(level)+1;
loadedImage = ImageIO.read(new File(fileLocal+"\\src\\level\\"+n+".png"));
loadedImage = getScaleImage(loadedImage);
//loadedImage = loadedImage.getScaledInstance(loadedImage.getWidth()/10,loadedImage.getHeight()/10,Image.SCALE_SMOOTH);
} catch (IOException e) {
e.printStackTrace();
}
这是我的代码的一部分,它为我加载图像以对其进行随机排序(我的项目是益智游戏)
我的问题是:
当我在 Eclipse IDE 中运行它时,我的游戏运行正常,然后我制作了一个可执行的 jar 文件,但我无法打开它(它立即打开并关闭)
所以我在 cmd 中运行它,这就是问题所在: 在此处输入图像描述
Microsoft Windows [版本 10.0.19042.1110] (c) Microsoft Corporation。版权所有。
C:\Users\WELCOME>java -jar Desktop\puzzle.jar javax.imageio.IIOException: 无法读取输入文件!在 java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1308) 在 level.ImageLoader.(ImageLoader.java:22) 在 GUI.boardgui.(boardgui.java:27) 在 GUI.Game.(Game .java:12) 在 GUI.Main.main(Main.java:7) 线程“main”中的异常 java.lang.ExceptionInInitializerError 在 GUI.Main.main(Main.java:7) 引起:java.lang.NullPointerException :无法调用“java.awt.image.BufferedImage.getWidth()”,因为“this.loadedImage”在 GUI.boardgui.(boardgui.java:28) 的 level.ImageLoader.GetSetOfImage(ImageLoader.java:66) 处为空GUI.Game.(Game.java:12) ... 还有 1 个
C:\用户\欢迎>
解决方案
推荐阅读
- ffmpeg - FFmpeg - 如何获取生成缩略图的帧的时间戳?
- python - Pandas 用多级列的平均值替换 nan
- snakemake - 如果指定 --drmaa-log-dir,snakemake 作业将失败
- asp.net-core - 出现错误“没有模板与输入模板名称匹配:blazorwasm。”
- angular - Ag-grid cellDoubleClicked 事件在 FAST 双击单元格时触发两次,但在缓慢双击时工作正常
- python-3.x - 未能在 ubuntu 18.04 上创建具有 python2.7 和 python3.6 的新 virtualenv
- python - ValueError: 找不到以单图像模式写入指定文件的格式
- javascript - 将 Selenium 与 Edge Chromium、Javascript 绑定一起使用时出现“WebDriverError:未知错误”
- javascript - switch 语句保持记录默认值?
- python - 并排连接两个数据框