![](/img/trans.png)
[英]Is it possible to read multiple images from an InputStream using Java ImageIO?
[英]How to make ImageIO read from InputStream :Java
我已经创建了可执行jar文件(使用Eclipse),有一组图像(.png)文件将被包含在jar中。 所以我添加了一个源文件夹,其中包含项目中/images
文件夹中的所有图像。 代码必须访问这些文件才能使用ImageIO.read(new File(path);
创建BufferedImage ImageIO.read(new File(path);
早些时候,为了获得路径,我使用了ClassName.class.getResource(/image/test.png).toURI();
在执行jar时,它抛出错误URI不是分层的
所以现在我使用ClassName.class.getResourceAsStream(/image/test.png);
但是如何从Inputstream读取ImageIO? 我尝试演员如下
InputStreamReader resourceBuff=ClassName.class.getResourceAsStream(/image/test.png);
ImageIO.read((ImageInputStream) new InputStreamReader(resourceBuff));
它抛出错误InputStreamReader无法强制转换为ImageInputStream
ImageIO.read()
将InputStream
作为参数,因此没有意义将其强制转换为ImageInputStream
。
其次,您无法将InputStreamReader
对象ImageInputStream
为ImageInputStream
因为ImageInputStream
与您想到的InputStreamReader
无关。
此外, getResourceAsStream()
返回InputStream
。 所以你可以直接这样做。
InputStream resourceBuff = YourClass.class.getResourceAsStream(filepath);
BufferedImage bf = ImageIO.read(resourceBuff);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.