有时候图片被更改了后缀名,但是它的编码方式还是不变的。所以不能光通过后缀名来判断这个图片是jpeg还是png或者bmp的。以下这种方法可以帮助你正确判断文件的编码格式。
public static String getFormatName(Object object) throws Exception{
ImageInputStream iis = ImageIO.createImageInputStream(object);
Iterator<ImageReader> iterator = ImageIO.getImageReaders(iis);
while (iterator.hasNext()) {
ImageReader reader = (ImageReader)iterator.next();
return reader.getFormatName();
}
return null;
}
调用:getFormatName(new File(String filePath)) filePath即为这个图片的完整url
public static String getFormatName(Object object) throws Exception{
ImageInputStream iis = ImageIO.createImageInputStream(object);
Iterator<ImageReader> iterator = ImageIO.getImageReaders(iis);
while (iterator.hasNext()) {
ImageReader reader = (ImageReader)iterator.next();
return reader.getFormatName();
}
return null;
}
调用:getFormatName(new File(String filePath)) filePath即为这个图片的完整url
本文介绍了一种通过Java代码实现的图片编码格式识别方法。该方法能够准确地判断一张图片的实际编码格式,即使其后缀名已被修改。通过使用ImageIO类的createImageInputStream方法和getImageReaders方法,迭代获取到图片的ImageReader实例,并返回图片的真实格式名称。
1163

被折叠的 条评论
为什么被折叠?



