我对working with images很熟悉。我retrieve/read an image from a URL,其中URL没有文件扩展名。然后我希望write/save the image到本地存储,但是我必须指定图像文件扩展名(即JPG,PNG等),我无法通过BufferedImage检索其扩展名。
请指出一下该如何做?
任何其他方法都可以。
最佳答案
使用ImageReader.getFormatName()
您可以使用ImageIO.getImageReaders(Object input)获取图像读取器。
我尚未亲自测试过,但是您可以尝试以下方法:
ImageInputStream iis = ImageIO.createImageInputStream(file);
Iterator<ImageReader> imageReaders = ImageIO.getImageReaders(iis);
while (imageReaders.hasNext()) {
ImageReader reader = (ImageReader) imageReaders.next();
System.out.printf("formatName: %s%n", reader.getFormatName());
}