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;
        }

     

  • 相关阅读:
    Linux(CentOS 7)iptables防火墙
    Linux(CentOS 7)DNS服务器搭建
    Linux(CentOS 7)LNMP环境搭建
    Linux(CentOS 7)nginx网站服务器
    Linux(CentOS 7)LAMP环境的搭建
    JavaScript 中repalce的使用
    DOM&BOM
    CSS颜色
    CSS中的单位
    Grid Layout 注释
  • 原文地址:https://www.cnblogs.com/andgoo/p/2608123.html
Copyright © 2011-2022 走看看