java 判断文件是否为图片2

简介: 前面写了篇博客,多种方式判断一个文件是否为图片。在实际使用中发现方式二,没有兼容exif 格式的图片。这里补正一下。前一篇博客地址:http://blog.csdn.net/jiangzeyin_/article/details/74972661 public static String getImageType(File srcFilePath) {

前面写了篇博客,多种方式判断一个文件是否为图片。在实际使用中发现方式二,没有兼容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 格式。

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

相关文章
|
22天前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
53 4
|
22天前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
49 2
|
9天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
10天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
23 4
|
13天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
13天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
22天前
|
Java 数据安全/隐私保护
Java ffmpeg 实现视频加文字/图片水印功能
【10月更文挑战第22天】在 Java 中使用 FFmpeg 实现视频加文字或图片水印功能,需先安装 FFmpeg 并添加依赖(如 JavaCV)。通过构建 FFmpeg 命令行参数,使用 `drawtext` 滤镜添加文字水印,或使用 `overlay` 滤镜添加图片水印。示例代码展示了如何使用 JavaCV 实现文字水印。
|
23天前
|
Java
Java开发如何实现文件的移动,但是在移动结束后才进行读取?
【10月更文挑战第13天】Java开发如何实现文件的移动,但是在移动结束后才进行读取?
44 2
|
23天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
112 1
|
23天前
|
监控 Java
Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
【10月更文挑战第13天】Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
68 1
下一篇
无影云桌面