繁体   English   中英

如何在java中获取图像文件(BufferedImage)的格式(例如:jpen,png,gif)

[英]How to get the format(ex:jpen,png,gif) of image file (BufferedImage) in java

我想使用java获取缓冲的图像格式或图像类型,

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

请参阅ImageIO.read()代码

此代码最初在groovy中实现但转换为java所以它可能有语法错误。

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

此代码可能会帮助您获取图像的扩展名

public static String getFormate(String ImageName) {

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

在上面的代码中,它首先搜索dot(。)并在substring()的帮助下返回扩展名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM