技术开发 频道

Java判断图片文件的类型

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

  import java.io.*;   import javax.imageio.*;   import java.awt.image.*;   import java.util.*;   import javax.imageio.stream.*;   public class Test{   public static void main(String[] args) {   File f = new File("c://test//2.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 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;   }   }
0
相关文章