`

java中判断文件是否是图片,不是用扩展名

    博客分类:
  • java
 
阅读更多
来源于网络资源,太多出处了,不知道哪个是原创,- -!
   /**
     * 检查传入file的format名称
     * @param f 传入的文件
     * @return
     */
    public static String getFormatInFile(File f) {
        return getFormatName(f);
    }

    /**
     * 对文件进行format检索
     * .jpg .jpeg .jpe .jfif ===> JPEG
     * .png ===> png
     * .gif ===> gif
     * .
     * @param o
     * @return
     */
    // Returns the format name of the image in the object 'o'.
    // Returns null if the format is not known.
    private static String getFormatName(Object o) {
        try {
            // Create an image input stream on the image
            ImageInputStream iis = ImageIO.createImageInputStream(o);

            // Find all image readers that recognize the image format
            Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
            if (!iter.hasNext()) {
                // No readers found
                return null;
            }

            // Use the first reader
            ImageReader reader = (ImageReader) iter.next();

            // Close stream
            iis.close();

            // Return the format name
            return reader.getFormatName();
        } catch (IOException e) {
            //
        }

        // The image could not be read
        return null;
    }
分享到:
评论

相关推荐

    判断文件的真实类型

    有些软件通过改变文件的扩展名隐藏文件的真实类型。例如,有些游戏的音乐和动画其实是标准的MID和AVI文件,只要把扩展名改回来,就能直接播放。现在编写一个程序,使它从一个配置文件中获得字符串与文件类型的对应表...

    JAVA 根据Url 接口 获取文件名称和类型

    JAVA 根据Url 接口 获取文件名称和类型,亲测可用。输入参数地址即可。

    JAVA上百实例源码以及开源项目

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    Android中Java根据文件头获取文件类型的方法

    前面讲过Android系统内部的MediaFile类来获取文件类型的办法,这个类主要是根据文件的扩展名来判断,其准确性不是很好。具体可查看Android系统使用MediaFile类判断音频文件类型。其实,获取文件类型最好的办法便是...

    java文件工具类FileUtil

    java文件工具类FileUtil 递归获取一个文件夹(及其子文件夹)下所有文件 获取扩展名 (doc/docx/jpg等) 判断是否是图片 判断是否是压缩包 是否是word文档 是否是excel

    JAVA上百实例源码以及开源项目源代码

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    java基础总结大全

    (1)path是配置Windows可执行文件的搜索路径,即扩展名为.exe的程序文件所在的目录, 用于指定DOS窗口命令的路径。 (2)Classpath是配置class文件所在的目录,用于指定类搜索路径,JVM就是通过它来寻找该类的class...

    Java EE常用框架.xmind

    在Shiro中默认是使用ini文件去对比的,但我们开发往往是去数据库比较,因此我们需要自定义realm 自定义也很简单:继承AuthorizingRealm类就好了 自定义的realm支持散列算法 授权方式 编程式:通过写if...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例069 判断文件类型 87 实例070 判断字符串是否为数字 89 实例071 验证IP地址的有效性 90 实例072 鉴别非法电话号码 91 4.3 操作字符串 92 实例073 根据标点符号对字符串进行分行 92 实例074 将字符串的每个字符...

    Java面试宝典-经典

    2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...

    Java面试宝典2010版

    2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...

    Java面试宝典2020修订版V1.0.1.doc

    12、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 60 13、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类...

    java 算法

    多线程的世界时钟,显示巴黎,罗马,上海时间, AWT界面,Java日期格式化及其使用例子,几个常用方法,判断字符是否属于中文,异常处理类,去掉字符串中重复的子字符串,将指定byte数组以16进制的形式打印到控制台,...

    java面试题大全(2012版)

    2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...

    java面试题

    答:JDO是java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。 CORBA? 答:CORBA标准是公共对象请求代理结构,用途为:用不同的程序设计语言书写,在不同的...

    最新Java面试宝典pdf版

    2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...

Global site tag (gtag.js) - Google Analytics