开发者社区> 问答> 正文

图片读取问题ImageIO使用报错

Java代码

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) 昨天写的读取图片宽高代码依然可以执行,但是放到循环里就不行了,求解答。

展开
收起
游客ufivfoddcd53c 2020-01-03 18:50:38 1415 0
1 条回答
写回答
取消 提交回答
  • 类型转换错误 it.tidalwave.imageio.io.FileImageInputStream2Spi 类不能转换成 javax.imageio.spi.ImageReaderSpi 类

    2020-01-03 18:50:56
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载