道非道 非常道

勤思、谨言、慎行、厚积、薄发

统计

web

天圆

经济 政治 军事

键康

Java判断图片文件的类型

转自网络
    判断文件的类型,而不是判断文件的后缀名



import java.io.*;
import javax.imageio.*;
import java.util.*;
import javax.imageio.stream.*;

public class Test {
    
public static void main(String[] args) {
        File f 
= new File("c://test//3.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 = (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;
    }
}


posted on 2010-03-17 15:04 星期五 阅读(968) 评论(0)  编辑  收藏 所属分类: J2SE


只有注册用户登录后才能发表评论。


网站导航: