java 判断文件是否为图片2

前面写了篇博客,多种方式判断一个文件是否为图片。在实际使用中发现方式二,没有兼容exif 格式的图片。这里补正一下。

前一篇博客地址:http://blog.csdn.net/jiangzeyin_/article/details/74972661

 public static String getImageType(File srcFilePath) {
        FileInputStream imgFile;
        byte[] b = new byte[10];
        int len;
        try {
            imgFile = new FileInputStream(srcFilePath);
            len = imgFile.read(b);
            imgFile.close();
        } catch (Exception e) {
            return null;
        }
        if (len != b.length) {
            return null;
        }
        byte b0 = b[0];
        byte b1 = b[1];
        byte b2 = b[2];
        byte b3 = b[3];
        byte b6 = b[6];
        byte b7 = b[7];
        byte b8 = b[8];
        byte b9 = b[9];
        if (b0 == (byte) 'G' && b1 == (byte) 'I' && b2 == (byte) 'F') {
            return "gif";
        }
        if (b1 == (byte) 'P' && b2 == (byte) 'N' && b3 == (byte) 'G') {
            return "png";
        }
        if (b6 == (byte) 'J' && b7 == (byte) 'F' && b8 == (byte) 'I' && b9 == (byte) 'F') {
            return "jpg";
        }
        if (b6 == (byte) 'E' && b7 == (byte) 'x' && b8 == (byte) 'i' && b9 == (byte) 'f') {
            return "exif";
        }
        return null;
    }

其实从方式二中,可以发现方式三也同理没有兼容exif 格式。

现在这个方法也没有完全,兼容所有格式的图片。这里我们就需要根据自己的需求自行补充了

你可能感兴趣的:(java 判断文件是否为图片2)