我正在尝试读取图像并将其保存到BufferedImage中,但是每次执行此操作都会收到错误/ null。我的图片称为“ board.png”,与其他.java和.class文件位于src文件夹中。(还尝试创建res文件夹并从中读取文件,但也没有任何反应)在Mac OSX上从终端运行代码
tried:ImageIO.read(getClass().getResourceAsStream("/board.png")
-代码编译,但由于某些原因代码行返回null-因此,我假定编译器找到该文件是因为没有错误,但为它分配了null值。这是为什么?还尝试了使用其他ImageIO.read
方法读取文件的其他方法,还尝试将图像文件放入:根项目目录,res目录,src目录-没有任何帮助。
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-均无济于事