java - 如何从 jar 文件中加载图像?
问题描述
此代码仅在我运行我的项目时才有效,但如果我运行 Jar 文件,我会收到 NullPointerException。该图像位于 src 目录中。
try {
URL resource = Sticker.class.getResource("\\transparentSticker.png");
img = null;
this.img = ImageIO.read(Paths.get(resource.toURI()).toFile());
System.out.println("c");
} catch (IOException | URISyntaxException e) {
System.out.println("caught");
}
如果我使用此代码,则会引发 IllegalArgumentException。
InputStream input = Sticker.class.getResourceAsStream("\\transparentSticker.png");
if (input == null) {
input = Sticker.class.getClassLoader().getResourceAsStream("\\transparentSticker.png");
}
try {
img = ImageIO.read(input);
} catch (IOException e) {
e.printStackTrace();
}
如何加载图像?
解决方案
推荐阅读
- ios - 防止在 iOS 11 中的特定视图控制器中旋转
- python - 在 Python 查找元素中解析 XML
- python - 将特定的 CSV 行写入数据框
- monitoring - statsd 客户端和 statsd 守护进程有什么区别?
- beautifulsoup - 使用单个爬虫与多个小型爬虫爬取 1000 多个寻呼机
- sql - SQL 语义等价性:{full, left, right} join on true = inner join on true?
- c++ - 从 USB 获取设备名称
- java - 为 Java 启用详细日志记录 (rt.jar)
- javascript - 将实时时钟时间链接到视频播放器时间
- vim - 在 neovim 和 MacVim 上使用 SpaceVim,无法获取插件脚本的位置