`

java判别图片格式GIF JPG

    博客分类:
  • java
阅读更多
原文地址:http://blog.csdn.net/kehengqun1/article/details/49252549感谢博主
判断文件是否为GIF文件
private boolean isGifFile(File file) {
    try {
        FileInputStream inputStream = new FileInputStream(file);
        int[] flags = new int[5];
        flags[0] = inputStream.read();
        flags[1] = inputStream.read();
        flags[2] = inputStream.read();
        flags[3] = inputStream.read();
        inputStream.skip(inputStream.available() - 1);
        flags[4] = inputStream.read();
        inputStream.close();
        return flags[0] == 71 && flags[1] == 73 && flags[2] == 70 && flags[3] == 56 && flags[4] == 0x3B;
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return false;
}

判断文件是否为JPG文件
private boolean isJpgFile(File file){
    try {
        FileInputStream bin = new FileInputStream(file);
        int b[] = new int[4];
        b[0] = bin.read();
        b[1] = bin.read();
        bin.skip(bin.available() - 2);
        b[2] = bin.read();
        b[3] = bin.read();
        bin.close();
        return b[0] == 255 && b[1] == 216 && b[2] == 255 && b[3] == 217;
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return false;
}
分享到:
评论

相关推荐

    java获取文件编码(判断有无BOM)

    在Java编程中,处理文件编码是一项常见的任务,特别是在读取、写入或转换文本文件时。文件编码决定了字符集的表示方式,而BOM(Byte Order Mark)则是一种特殊的Unicode标记,用于标识文件的编码类型。本文将详细...

    arcmap中JPG图片校准方法

    ArcMap 中 JPG 图片校准方法 ArcMap 是一种功能强大的 GIS 软件,能够对图片进行校准,使其拥有地理坐标参考系和地理坐标系。本文将详细介绍如何使用 ArcMap 对 JPG 格式的地图进行校准,包括导入数据、定义空间...

    一个Java实现的基于内容的图像检索工具包

    Java 实现的基于内容的图像检索工具包是一个强大的软件框架,专门用于在大量图像数据库中寻找与查询图像相似的图片。这种技术的核心在于提取图像的关键特征,如颜色、纹理和形状,然后通过比较这些特征来确定图像...

    用Java编写的LL(1)文法判别

    根据提供的文件信息,本文将详细解释“用Java编写的LL(1)文法判别”的核心概念、原理以及实现步骤。 ### LL(1) 文法简介 LL(1)是一种自上而下的语法分析方法,其中第一个L表示从左到右扫描输入串,第二个L表示最...

    初学JAVA,回文判别

    我初学JAVA,这个做了我一个小时,可以判别回文码

    java判断回文程序

    java作业 用java实现判断回文程序免费下载

    Java经典算法之数据挖掘

    统计学习是数据挖掘的基础,包括回归、主成分分析(PCA)、线性判别分析(LDA)等。它们通过统计方法从数据中提取规律,用于预测和特征降维。 Java库如Weka、Apache Mahout和MLlib(Spark的一部分)为开发者提供了...

    Java————二次方程求解.doc

    Java 中的二次方程求解 二次方程是数学中的一种基本方程式,形式为 ax^2 + bx + c = 0,...本例中我们使用 Java 语言来求解二次方程,通过输入输出、数据类型、运算符、控制语句、判别式和 Math 库等知识点来实现。

    java 常用实验代码

    Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和丰富的库而著名。在“java常用实验代码”这个文档中,我们可以看到一系列与Java编程相关的实践项目,旨在帮助学习者深入理解Java的核心概念和技术。...

    Java 虹膜识别程序

    "JIRRM - An iris recognition project in Java_files"可能是支持网页展示的资源文件,如图片、样式表或脚本。 在实际应用中,虹膜识别技术广泛应用于安防系统、门禁控制、移动设备解锁等领域。通过Java实现的虹膜...

    基于java的人脸相似度比对,基于opencv和dl4j.zip

    在本项目中,我们探讨了如何使用Java进行人脸识别并计算人脸相似度,主要依赖于两个强大的库:OpenCV和DL4J。OpenCV是一个开源计算机视觉库,它包含了大量的图像和视频处理功能;而DL4J(Deep Learning for Java)是...

    java,二次方程求解

    在Java编程语言中,解决一元二次方程是常见的数学计算任务。一元二次方程通常形式为`ax² + bx + c = 0`,其中a、b、c是常数,且a不等于0。Java提供了丰富的数学库Math类,我们可以利用这些功能来实现二次方程的求解...

    java人脸识别源码

    Java人脸识别源码是一种基于计算机视觉技术的应用,它利用了特征脸识别原理,使得程序能够检测、识别人脸,无论是在实时的摄像头流中还是在静态的图像或视频文件中。这个项目采用JavaCV库,一个Java接口,为OpenCV等...

    java实现判断数字是否为回文数的程序

    自己做的java小程序 用于判断一个数是几位数 是不是回文数 供java初学者参考

    java简历多个关键字请用空格分隔,最多填写5个。点击右侧Tag快速添加

    在准备Java程序员的简历时,关键词的选择至关重要,因为它们能够突出你的技能和专长,吸引潜在雇主的注意。本文将详细讨论如何有效地使用关键词,并构建一份高质量的Java开发者简历。 首先,标题是简历的首要部分,...

    java 各类算法实现代码

    Java算法实现代码主要涵盖了许多计算机科学中的核心算法,这些算法是编程基础,也是解决复杂问题的关键工具。在Java中实现这些算法,可以帮助开发者更好地理解和应用它们。以下将详细阐述一些常见的Java算法及其重要...

    人脸识别Java程序

    Eigenface基于主成分分析(PCA),Fisherface使用线性判别分析(LDA),LBPH已经在人脸检测部分提及,是一种适用于本地特征的算法。 - 匹配阶段,程序可能会将提取的特征与预存的人脸模板进行比较,选择最接近的模板...

    GIF 病毒特点以及处理办法由www.kababusi.com提供.pdf

    GIF病毒是一种较为特殊的计算机病毒,它通过伪装成常见的GIF图像文件格式,潜入用户系统,进行恶意活动。这类病毒之所以命名含有"GIF",主要是因为它们利用了用户对图形文件的信任,通过在系统中创建看似无害的GIF...

    用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。

    在Java编程语言中,解决一元二次方程是常见的任务,尤其对于初学者而言。一元二次方程的标准形式为ax² + bx + c = 0,其中a、b和c是常数,且a不等于0。本教程将详细解释如何通过编程计算这种方程的根,并展示一个...

    java基础练习题

    ### Java基础知识点解析 #### 1. 整数排序算法 **题目描述**: 编写程序实现对给定的4个整数从大到小的顺序排列。 **知识点**: 这个题目涉及到基本的排序算法,如冒泡排序、选择排序等。在Java中可以通过循环和...

Global site tag (gtag.js) - Google Analytics