Java ImageIO.read(getClass()。getResource(path))问题

问题描述 投票:0回答:1

我正在尝试读取图像并将其保存到BufferedImage中,但是每次执行此操作都会收到错误/ null。我的图片称为“ board.png”,与其他.java和.class文件位于src文件夹中。(还尝试创建res文件夹并从中读取文件,但也没有任何反应)在Mac OSX上从终端运行代码

tried:ImageIO.read(getClass().getResourceAsStream("/board.png")-代码编译,但由于某些原因代码行返回null-因此,我假定编译器找到该文件是因为没有错误,但为它分配了null值。这是为什么?还尝试了使用其他ImageIO.read方法读取文件的其他方法,还尝试将图像文件放入:根项目目录,res目录,src目录-没有任何帮助。

java image swing bufferedimage
1个回答
-1
投票

Oracle文档关于ImageIO.read:

返回一个BufferedImage,它是使用从当前注册的ImageReader中自动选择的ImageReader解码提供的InputStream的结果。 InputStream包装在ImageInputStream中。如果没有注册的ImageReader声称能够读取结果流,则返回null

仅检查我在计算机上注册了许多ImageReader:

JPG jpg bmp BMP gif GIF WBMP png PNG jpeg wbmp JPEG

也尝试将图像转换为jpg和jpeg-均无济于事

© www.soinside.com 2019 - 2024. All rights reserved.