2012-07-11 38 views
9

tôi muốn để có được các định dạng hình ảnh đệm hoặc loại hình ảnh sử dụng java,Làm thế nào để có được những định dạng (ví dụ: jpen, png, gif) của tập tin ảnh (BufferedImage) trong java

InputStream stream = request.getResponseStream(); 
BufferedImage image= ImageIO.read(stream); 
LOGGER.info(image); 
+0

Bạn muốn có thể kiểm tra định dạng? (ví dụ: jpeg png bmp) – John

+0

vâng tôi muốn định dạng –

Trả lời

14

Tham khảo các ImageIO .read() code

Mã này ban đầu được triển khai bằng tiếng groovy nhưng được dịch sang java để có thể có lỗi cú pháp.

public String read(InputStream input) throws IOException { 
    ImageInputStream stream = ImageIO.createImageInputStream(input); 

    Iterator iter = ImageIO.getImageReaders(stream); 
    if (!iter.hasNext()) { 
     return null; 
    } 
    ImageReader reader = (ImageReader) iter.next(); 
    ImageReadParam param = reader.getDefaultReadParam(); 
    reader.setInput(stream, true, true); 
    BufferedImage bi; 
    try { 
     bi = reader.read(0, param); 
     return reader.getFormatName(); 
    } finally { 
     reader.dispose(); 
     stream.close(); 
    } 
} 
-1

Mã này có thể giúp bạn để có được những phần mở rộng của hình ảnh

public static String getFormate(String ImageName) { 

    return (ImageName.substring(ImageName.indexOf('.'),ImageName.length())); 
} 

Trong đoạn mã trên đầu tiên nó tìm kiếm dấu chấm (.) Và với sự giúp đỡ của substring() nó sẽ trở lại với phần mở rộng