0 0

图片读取问题ImageIO使用报错5

File dir = new File("G:\\itemDesc");
		File[] fs = dir.listFiles();
		for (int i = 0; i < fs.length; i++) {
			if (fs[i].isDirectory()) {
				System.out.println(fs[i].getName());
				File[] df = fs[i].listFiles();
				if (df != null && df.length > 0) {
					for (File f : df) {
						if(f.exists()){
							f=new File(f.getPath());
							InputStream stream=new FileInputStream(f);
							BufferedImage sourceImg = ImageIO.read(stream);
							System.out.println(sourceImg.getWidth());
							System.out.println(sourceImg.getHeight());
						}
						
					}
				}
			} else {
				System.out.println(fs[i].getAbsolutePath());
			}
		}

小弟写了如上一段代码,但是一运行就报错:
Caused by: java.lang.ClassCastException: Cannot cast it.tidalwave.imageio.io.FileImageInputStream2Spi to javax.imageio.spi.ImageReaderSpi
at java.lang.Class.cast(Class.java:3005)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:362)
昨天写的读取图片宽高代码依然可以执行,但是放到循环里就不行了,求解答。
2015年1月17日 16:12

4个答案 按时间排序 按投票排序

0 0

类型转换错误
it.tidalwave.imageio.io.FileImageInputStream2Spi 类不能转换成 javax.imageio.spi.ImageReaderSpi 类

2016年5月31日 12:18
0 0

检查下你指定的那个文件下是否有不是图片的文件

2016年5月27日 15:46
0 0

这不是类型转换的问题吗,你的文件夹底下是不是有不是图片的文件呀

2015年10月23日 18:06
0 0

我测试了你的代码没有问题,根据你的异常信息,我估计是你引用的类的路径不对。
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
这是我测试时所引用的路径。

2015年1月19日 11:09

相关推荐

    Image读取CMYK和Tif 报错的解决办法

    首先,"Image读取CMYK和Tif 报错的解决办法"这个标题明确指出,问题在于读取采用CMYK色彩模式的TIFF图像时出现错误。CMYK(青、洋红、黄、黑)是用于印刷的颜色模式,与我们常见的RGB(红、绿、蓝)模式不同,RGB...

    图片处理 javax.imageio.IIOException: Unsupported Image Type

    在Java编程环境中,图片处理是一项常见的任务,但有时可能会遇到“javax.imageio.IIOException: Unsupported Image Type”的错误。这个异常通常表示Java的`ImageIO`类库无法识别或支持所尝试读取或写入的图像格式。...

    Qt:解决使用png图片时,报错libpng warning: iCCP: known incorrect sRGB profile的问题

    1. 图像编辑软件问题:可能是由于使用的图像编辑软件在保存PNG图像时,添加了不正确的色彩配置信息。 2. 图像源问题:原始PNG图像本身就带有不兼容的色彩配置文件。 3. Qt版本问题:某些旧版本的Qt可能对iCCP的支持...

    图片过大引起的内存溢出解决方案

    1. **使用inJustDecodeBounds选项预加载图片信息**:首先设置`BitmapFactory.Options`中的`inJustDecodeBounds`属性为`true`,这样`BitmapFactory`只读取图片的边界信息(宽度和高度),而不真正解码图片数据。...

    轻松使用apache pdfbox将pdf文件生成图片.pdf

    在描述中提到的问题是,在尝试使用ImageIO来直接将PDF转换为图片时,结果可能不尽如人意,特别是在处理包含中文字符的PDF时。PDFBox作为一个更专业的PDF处理库,能够更好地处理这种问题,尤其是在处理英文PDF时效果...

    dbf文件读取

    本篇将详细讲解如何在Java环境下读取dbf文件,以及如何解决在读取过程中可能出现的中文字符报错问题。 首先,dbf文件是由dBase系列数据库系统创建的,它包含表格结构的数据,每个字段有其特定的数据类型,如数值、...

    Java代码实现调用RapidOCR(基于PaddleOCR),适配Mac、Win、Linux,支持最新PP-OCRv4

    - 使用日志框架记录错误信息,方便定位和解决问题。 9. **性能优化**: - 对于大量图像的识别,可以考虑使用多线程或异步处理来提高效率。 - 如果是服务器环境,还可以考虑GPU加速或分布式部署以提升整体性能。 ...

    python读取视频流提取视频帧的两种方法

    本文实例为大家分享了python读取视频流提取视频帧的具体代码,供大家参考,具体内容如下 方法一:通过imageio库和skimage库 1. 安装环境: pip install imageio pip install skimage 这时候会报错Please install the...

    anji-plus-AJ-Captcha-Images-master.zip

    例如,可以利用Java的`java.awt.image.BufferedImage`类创建和操作图像,通过随机算法生成拼图,再用`javax.imageio.ImageIO`进行保存和读取。同时,为了防止恶意破解,可能还会采用一些加密技术对生成的拼图和答案...

    从Oracle数据库中的Blob列在JLabel上显示图像

    这里使用了`javax.imageio.ImageIO`类的`read()`方法来读取字节流。确保导入了必要的库`import javax.imageio.ImageIO;`。 最后,将Image对象转换为Icon,再设置到JLabel上。 ```java Icon icon = new ImageIcon...

    jai_codec-1.1.3.jar、jai_core-1.1.3.jar

    `jai_codec-1.1.3.jar` 是JAI的编码模块,包含了多种图像格式的读取和写入支持。它提供了对各种图像文件格式如JPEG、TIFF、PNG、BMP等的处理能力。这个模块还支持一些特殊编码格式,如JPEG 2000,这是一种基于分块的...

    OMETIFF.jl:Julia中OME-TIFF文件的IO操作,着重于正确性

    `OMETIFF.jl`与Julia的其他图像处理和分析库(如ImageCore和ImageIO)配合使用,可以构建高效的工作流程,处理从原始数据到最终结果的全过程。 **6. Micromanager集成** Micromanager是一款流行的开源显微镜控制...

Global site tag (gtag.js) - Google Analytics