程序包com.sun.image.codec.jpeg不存在解决方法

作者: adm 分类: java 发布时间: 2021-05-25

一些老的Java代码在JDK1.7下编译会报错,比如这个:程序包com.sun.image.codec.jpeg不存在。
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

JPEGImageEncoder类是SUN公司私有类

一般出现在这样的代码段中:

FileOutputStream out = new FileOutputStream(dstName);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(dstImage);

改写成:

String formatName = dstName.substring(dstName.lastIndexOf(".") + 1);
//FileOutputStream out = new FileOutputStream(dstName);
//JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
//encoder.encode(dstImage);
ImageIO.write(dstImage, /*"GIF"*/ formatName /* format desired */ , new File(dstName) /* target */ );

都使用统一的ImageIO进行图像格式文件的读写,没有必要使用过时的实现类JPEGImageEncoder类。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!