zoukankan      html  css  js  c++  java
  • Java中对图片文件的类型的获取

    系统中某些图片可能已经被修改了后缀名,所以不能只是对后缀名进行判断。下面的示例代码就是如何判断一个图片的具体类型的。

    public static void main(String[] args) {
            File f = new File("c://test.jpg");
            if (f.exists()) {
                System.out.println(getFormatInFile(f));
            }
        }
    
        // Returns the format of the image in the file 'f'.
        // Returns null if the format is not known.
        public static String getFormatInFile(File f) {
            return getFormatName(f);
        }
        
        // 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 = iter.next();
        
                // Close stream
                iis.close();
        
                // Return the format name
                return reader.getFormatName();
            } catch (IOException e) {
                //
            }
            
            // The image could not be read
            return null;
        }

     

  • 相关阅读:
    rocketMQ
    RocketMQ 事务消息
    Serial,Parallel,CMS,G1四大GC收集器特点小结
    CMS垃圾收集器与G1收集器
    CMS垃圾回收过程
    MySQL中EXPLAIN解释命令 查看索引是否生效
    redis持久化的几种方式
    深入浅出数据库索引原理
    Java中堆内存和栈内存详解
    jvm垃圾回收机制
  • 原文地址:https://www.cnblogs.com/andgoo/p/2608123.html
Copyright © 2011-2022 走看看