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

猜你喜欢

转载自blog.csdn.net/shadow_zed/article/details/81638278
今日推荐