java判断图片是否损坏

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;

/**
 * @author benfreer
 * @date 2019/12/27
 */
public class Test {
    public static void main(String[] args) {
        try {
            File f = new File("d:/00541e5e-2286-409f-8871-1ccc3edb243f.jpg");
            FileInputStream fi = new FileInputStream(f);
            try {
                BufferedImage sourceImg = ImageIO.read(fi);//判断图片是否损坏
                int picWidth = sourceImg.getWidth(); //确保图片是正确的(正确的图片可以取得宽度)
            } catch (Exception e) {
                // TODO: handle exception
                fi.close();//关闭IO流才能操作图片
                return;
            } finally {
                fi.close();//最后一定要关闭IO流
            }
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println(e.toString());
            return;

        }
    }
}

 

当图片损坏时,sourceImg为空

你可能感兴趣的:(java判断图片是否损坏)