当前位置: 代码迷 >> Web前端 >> java中判断资料是否是图片,不是用扩展名
  详细解决方案

java中判断资料是否是图片,不是用扩展名

热度:110   发布时间:2012-07-01 13:15:00.0
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;
    }
  相关解决方案