zoukankan      html  css  js  c++  java
  • java判断传进来的是否是图片

    public static void main(String[] args) throws IOException {
            String filePath = "C:\Users\80975\Desktop/1.png";
            File file = new File(filePath);
            ImageInputStream iis = ImageIO.createImageInputStream(file);
            Iterator iter = ImageIO.getImageReaders(iis);
            if (!iter.hasNext()) {//文件不是图片 
                System.out.println("此文件不为图片文件");
            }else {
                System.out.println("是");
            }
    
            BufferedImage bi = ImageIO.read(file);
    
            if(bi == null){ 
                System.out.println("此文件不为图片文件");
            }else {
                System.out.println("是");
            }
        }

    使用ImageIO 判断图片宽高

    public static boolean isImage(InputStream inputStream) {
            if (inputStream == null) {
                return false;
            }
            Image img;
            try {
                img = ImageIO.read(inputStream);
                return !(img == null || img.getWidth(null) <= 0 || img.getHeight(null) <= 0);
            } catch (Exception e) {
                return false;
            }
        }

    判断文件头信息

     public static String getImageType(File srcFilePath) {
            FileInputStream imgFile;
            byte[] b = new byte[10];
            int l = -1;
            try {
                imgFile = new FileInputStream(srcFilePath);
                l = imgFile.read(b);
                imgFile.close();
            } catch (Exception e) {
                return null;
            }
            if (l == 10) {
                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";
                } else if (b1 == (byte) 'P' && b2 == (byte) 'N' && b3 == (byte) 'G') {
                    return "png";
                } else if (b6 == (byte) 'J' && b7 == (byte) 'F' && b8 == (byte) 'I' && b9 == (byte) 'F') {
                    return "jpg";
                } else {
                    return null;
                }
            } else {
                return null;
            }
        }
  • 相关阅读:
    nyoj131 小数相加 循环小时转换分数
    STL 之priority_queue
    XML序列化
    Change the hightlight item color
    TreeView ListView ItemSource
    .NET 下的序列化与反序列化
    WPF: WebBrowser TO Bitmap
    隐藏/显示 Office 标题栏 工具栏 winform webBrowser
    WPF全屏幕窗口
    .Net 注册表操作
  • 原文地址:https://www.cnblogs.com/shihaiming/p/10404700.html
Copyright © 2011-2022 走看看